{"id":2307,"date":"2026-08-11T14:06:11","date_gmt":"2026-08-11T17:06:11","guid":{"rendered":"https:\/\/desvendandoocodigo.com.br\/?p=2307"},"modified":"2026-08-11T14:09:59","modified_gmt":"2026-08-11T17:09:59","slug":"react-do-zero-para-iniciantes-aprenda-criando-um-projeto-completo","status":"publish","type":"post","link":"https:\/\/desvendandoocodigo.com.br\/?p=2307","title":{"rendered":"React do Zero para Iniciantes: Aprenda Criando um Projeto Completo"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Se voc\u00ea est\u00e1 come\u00e7ando a estudar <strong>React<\/strong> e ainda tem dificuldade para entender componentes, Props, estados ou como uma aplica\u00e7\u00e3o React se comunica com uma API, aprender atrav\u00e9s de um projeto pr\u00e1tico pode tornar esses conceitos muito mais f\u00e1ceis de visualizar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Neste tutorial vamos desenvolver um <strong>Cat\u00e1logo de Produtos com React<\/strong>, construindo o projeto passo a passo e entendendo o papel de cada parte da aplica\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A ideia n\u00e3o \u00e9 simplesmente copiar c\u00f3digo pronto. O objetivo \u00e9 compreender <strong>como o React funciona na pr\u00e1tica<\/strong> e como os diferentes conceitos se conectam dentro de um projeto real.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que vamos criar com React?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O projeto ser\u00e1 um <strong>Cat\u00e1logo de Produtos<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A aplica\u00e7\u00e3o possui um formul\u00e1rio para cadastrar novos produtos e uma \u00e1rea respons\u00e1vel por apresentar os produtos dispon\u00edveis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Durante o desenvolvimento trabalharemos com conceitos importantes do React, como:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>componentes;<\/li>\n\n\n\n<li>JSX;<\/li>\n\n\n\n<li>Props;<\/li>\n\n\n\n<li><code>useState<\/code>;<\/li>\n\n\n\n<li>eventos;<\/li>\n\n\n\n<li>formul\u00e1rios;<\/li>\n\n\n\n<li>renderiza\u00e7\u00e3o de listas;<\/li>\n\n\n\n<li><code>map()<\/code>;<\/li>\n\n\n\n<li><code>key<\/code>;<\/li>\n\n\n\n<li><code>useEffect<\/code>;<\/li>\n\n\n\n<li><code>fetch()<\/code>;<\/li>\n\n\n\n<li><code>async<\/code> e <code>await<\/code>;<\/li>\n\n\n\n<li>consumo de API;<\/li>\n\n\n\n<li>atualiza\u00e7\u00e3o de estado.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Mesmo sendo um projeto relativamente simples, ele permite entender v\u00e1rios conceitos que aparecem constantemente no desenvolvimento de aplica\u00e7\u00f5es React.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Por que aprender React criando projetos?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Quando estamos come\u00e7ando, estudar cada recurso isoladamente pode dificultar a compreens\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea aprende <code>useState<\/code> em um exemplo, Props em outro, <code>useEffect<\/code> em outro e depois surge a d\u00favida:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>como tudo isso funciona junto em uma aplica\u00e7\u00e3o?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 justamente por isso que utilizaremos um projeto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em vez de estudar apenas a sintaxe, conseguimos enxergar o papel de cada recurso dentro de uma aplica\u00e7\u00e3o funcionando.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Componentes no React<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Uma das principais caracter\u00edsticas do React \u00e9 a possibilidade de dividir uma interface em <strong>componentes<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em nosso Cat\u00e1logo de Produtos, podemos separar responsabilidades em componentes diferentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>App\n\u2502\n\u251c\u2500\u2500 FormProduto\n\u2502\n\u2514\u2500\u2500 ListaProdutos\n       \u2502\n       \u2514\u2500\u2500 Produto<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cada componente possui uma responsabilidade.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O formul\u00e1rio cuida da entrada das informa\u00e7\u00f5es, a lista organiza os produtos e o componente de produto representa cada item apresentado na tela.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Essa divis\u00e3o ajuda a manter o projeto mais organizado e facilita sua evolu\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que s\u00e3o Props no React?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Os componentes frequentemente precisam trocar informa\u00e7\u00f5es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para isso, podemos utilizar as <strong>Props<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma propriedade pode ser enviada por um componente e recebida por outro, permitindo reutilizar componentes com informa\u00e7\u00f5es diferentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No nosso projeto, isso ser\u00e1 importante para que os dados dos produtos possam chegar aos componentes respons\u00e1veis por apresent\u00e1-los na interface.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Trabalhando com useState<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Outro conceito fundamental \u00e9 o <strong>estado<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Com o Hook <code>useState<\/code>, podemos armazenar informa\u00e7\u00f5es que podem mudar durante a utiliza\u00e7\u00e3o da aplica\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um exemplo simples seria:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const &#91;nome, setNome] = useState(\"\");<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Temos o valor atual armazenado em <code>nome<\/code> e uma fun\u00e7\u00e3o <code>setNome<\/code> utilizada para atualizar esse valor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No projeto utilizamos esse conceito nos campos do formul\u00e1rio e tamb\u00e9m no gerenciamento dos produtos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Renderizando listas com map()<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Quando temos v\u00e1rios produtos, n\u00e3o faz sentido escrever manualmente um componente para cada um.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos percorrer o array utilizando <code>map()<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>produtos.map((produto) =&gt; (\n    &lt;Produto\n        key={produto.id}\n        produto={produto}\n    \/&gt;\n))<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dessa forma, o React consegue gerar os componentes dinamicamente a partir dos dados existentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqui tamb\u00e9m aparece outro conceito importante: a propriedade <code>key<\/code>, utilizada pelo React para identificar os elementos de uma lista.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Para que serve o useEffect?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Em determinado momento precisamos carregar os produtos quando o componente \u00e9 apresentado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 a\u00ed que entra o <code>useEffect<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para quem est\u00e1 come\u00e7ando, uma maneira simples de visualiz\u00e1-lo \u00e9 pensar inicialmente em um <strong>gatilho para executar determinada a\u00e7\u00e3o em um momento do ciclo do componente<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>useEffect(() =&gt; {\n    carregarProdutos();\n}, &#91;]);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nesse caso, utilizamos o <code>useEffect<\/code> para iniciar o carregamento dos produtos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consumindo uma API com React<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nosso front-end n\u00e3o precisa trabalhar apenas com dados criados dentro do pr\u00f3prio React.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ele tamb\u00e9m pode se comunicar com um <strong>back-end<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para realizar uma requisi\u00e7\u00e3o podemos utilizar <code>fetch()<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const resposta = await fetch(\"\/api\/produtos\");\nconst dados = await resposta.json();\n\nsetProdutos(dados);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aqui come\u00e7amos a enxergar uma arquitetura muito comum em aplica\u00e7\u00f5es web:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>REACT\n  \u2193\nrequisi\u00e7\u00e3o HTTP\n  \u2193\nAPI \/ BACK-END\n  \u2193\ndados\n  \u2193\nREACT\n  \u2193\nINTERFACE<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">O React fica respons\u00e1vel pela interface e intera\u00e7\u00e3o com o usu\u00e1rio, enquanto o back-end ser\u00e1 respons\u00e1vel por receber requisi\u00e7\u00f5es e fornecer os dados necess\u00e1rios para a aplica\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cadastrando produtos na API<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tamb\u00e9m podemos realizar o caminho contr\u00e1rio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quando o usu\u00e1rio preencher o formul\u00e1rio, o React pode enviar essas informa\u00e7\u00f5es para o back-end atrav\u00e9s de uma requisi\u00e7\u00e3o <code>POST<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isso permite compreender que <code>fetch()<\/code> n\u00e3o serve apenas para buscar informa\u00e7\u00f5es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma aplica\u00e7\u00e3o front-end pode <strong>consultar, enviar, alterar e excluir dados atrav\u00e9s de uma API<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Essa comunica\u00e7\u00e3o entre front-end e back-end ser\u00e1 aprofundada na continua\u00e7\u00e3o deste projeto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Teste seu c\u00f3digo durante o desenvolvimento<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Uma pr\u00e1tica importante apresentada durante o projeto \u00e9 desenvolver em pequenas etapas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Crie uma parte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Execute.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Observe o resultado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Corrija os problemas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depois continue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deixar para testar somente quando todo o projeto estiver pronto pode dificultar bastante a identifica\u00e7\u00e3o de erros.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Programa\u00e7\u00e3o \u00e9 processo.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quanto melhor voc\u00ea compreender cada etapa, mais f\u00e1cil ser\u00e1 evoluir para projetos maiores.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Aula completa \u2014 React do Zero para Iniciantes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Na aula abaixo desenvolvemos o projeto passo a passo, explicando os conceitos durante a constru\u00e7\u00e3o da aplica\u00e7\u00e3o.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"React para Iniciantes | Crie um Cat\u00e1logo de Produtos do Zero\" width=\"960\" height=\"720\" src=\"https:\/\/www.youtube.com\/embed\/LhvIpDl8PnI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Pr\u00f3ximo passo: o back-end<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Este projeto n\u00e3o termina no React.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na pr\u00f3xima etapa vamos trabalhar o <strong>back-end do Cat\u00e1logo de Produtos utilizando Node.js e Express<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Assim come\u00e7amos a enxergar as duas partes trabalhando juntas:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>React \u2192 Front-end<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Node.js + Express \u2192 Back-end<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A proposta \u00e9 evoluir gradualmente, acrescentando novos conceitos conforme os projetos avan\u00e7am.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Se voc\u00ea est\u00e1 come\u00e7ando a estudar React e ainda tem dificuldade para entender componentes, Props, estados ou como uma aplica\u00e7\u00e3o React se comunica com uma API, aprender atrav\u00e9s de um projeto pr\u00e1tico pode tornar esses conceitos muito mais f\u00e1ceis de visualizar. Neste tutorial vamos desenvolver um Cat\u00e1logo de Produtos com React, construindo o projeto passo a passo e entendendo o papel de cada parte da aplica\u00e7\u00e3o. A ideia n\u00e3o \u00e9 simplesmente copiar c\u00f3digo pronto. O objetivo \u00e9 compreender como o React funciona na pr\u00e1tica e como os diferentes conceitos se conectam dentro de um projeto real. O que vamos criar com React? O projeto ser\u00e1 um Cat\u00e1logo de Produtos. A aplica\u00e7\u00e3o possui um formul\u00e1rio para cadastrar novos produtos e uma \u00e1rea respons\u00e1vel por apresentar os produtos dispon\u00edveis. Durante o desenvolvimento trabalharemos com conceitos importantes do React, como: Mesmo sendo um projeto relativamente simples, ele permite entender v\u00e1rios conceitos que aparecem constantemente no desenvolvimento de aplica\u00e7\u00f5es React. Por que aprender React criando projetos? Quando estamos come\u00e7ando, estudar cada recurso isoladamente pode dificultar a compreens\u00e3o. Voc\u00ea aprende useState em um exemplo, Props em outro, useEffect em outro e depois surge a d\u00favida: como tudo isso funciona junto em uma aplica\u00e7\u00e3o? \u00c9 justamente por isso que utilizaremos um projeto. Em vez de estudar apenas a sintaxe, conseguimos enxergar o papel de cada recurso dentro de uma aplica\u00e7\u00e3o funcionando. Componentes no React Uma das principais caracter\u00edsticas do React \u00e9 a possibilidade de dividir uma interface em componentes. Em nosso Cat\u00e1logo de Produtos, podemos separar responsabilidades em componentes diferentes. Por exemplo: Cada componente possui uma responsabilidade. O formul\u00e1rio cuida da entrada das informa\u00e7\u00f5es, a lista organiza os produtos e o componente de produto representa cada item apresentado na tela. Essa divis\u00e3o ajuda a manter o projeto mais organizado e facilita sua evolu\u00e7\u00e3o. O que s\u00e3o Props no React? Os componentes frequentemente precisam trocar informa\u00e7\u00f5es. Para isso, podemos utilizar as Props. Uma propriedade pode ser enviada por um componente e recebida por outro, permitindo reutilizar componentes com informa\u00e7\u00f5es diferentes. No nosso projeto, isso ser\u00e1 importante para que os dados dos produtos possam chegar aos componentes respons\u00e1veis por apresent\u00e1-los na interface. Trabalhando com useState Outro conceito fundamental \u00e9 o estado. Com o Hook useState, podemos armazenar informa\u00e7\u00f5es que podem mudar durante a utiliza\u00e7\u00e3o da aplica\u00e7\u00e3o. Um exemplo simples seria: Temos o valor atual armazenado em nome e uma fun\u00e7\u00e3o setNome utilizada para atualizar esse valor. No projeto utilizamos esse conceito nos campos do formul\u00e1rio e tamb\u00e9m no gerenciamento dos produtos. Renderizando listas com map() Quando temos v\u00e1rios produtos, n\u00e3o faz sentido escrever manualmente um componente para cada um. Podemos percorrer o array utilizando map(): Dessa forma, o React consegue gerar os componentes dinamicamente a partir dos dados existentes. Aqui tamb\u00e9m aparece outro conceito importante: a propriedade key, utilizada pelo React para identificar os elementos de uma lista. Para que serve o useEffect? Em determinado momento precisamos carregar os produtos quando o componente \u00e9 apresentado. \u00c9 a\u00ed que entra o useEffect. Para quem est\u00e1 come\u00e7ando, uma maneira simples de visualiz\u00e1-lo \u00e9 pensar inicialmente em um gatilho para executar determinada a\u00e7\u00e3o em um momento do ciclo do componente. Por exemplo: Nesse caso, utilizamos o useEffect para iniciar o carregamento dos produtos. Consumindo uma API com React Nosso front-end n\u00e3o precisa trabalhar apenas com dados criados dentro do pr\u00f3prio React. Ele tamb\u00e9m pode se comunicar com um back-end. Para realizar uma requisi\u00e7\u00e3o podemos utilizar fetch(): Aqui come\u00e7amos a enxergar uma arquitetura muito comum em aplica\u00e7\u00f5es web: O React fica respons\u00e1vel pela interface e intera\u00e7\u00e3o com o usu\u00e1rio, enquanto o back-end ser\u00e1 respons\u00e1vel por receber requisi\u00e7\u00f5es e fornecer os dados necess\u00e1rios para a aplica\u00e7\u00e3o. Cadastrando produtos na API Tamb\u00e9m podemos realizar o caminho contr\u00e1rio. Quando o usu\u00e1rio preencher o formul\u00e1rio, o React pode enviar essas informa\u00e7\u00f5es para o back-end atrav\u00e9s de uma requisi\u00e7\u00e3o POST. Isso permite compreender que fetch() n\u00e3o serve apenas para buscar informa\u00e7\u00f5es. Uma aplica\u00e7\u00e3o front-end pode consultar, enviar, alterar e excluir dados atrav\u00e9s de uma API. Essa comunica\u00e7\u00e3o entre front-end e back-end ser\u00e1 aprofundada na continua\u00e7\u00e3o deste projeto. Teste seu c\u00f3digo durante o desenvolvimento Uma pr\u00e1tica importante apresentada durante o projeto \u00e9 desenvolver em pequenas etapas. Crie uma parte. Execute. Observe o resultado. Corrija os problemas. Depois continue. Deixar para testar somente quando todo o projeto estiver pronto pode dificultar bastante a identifica\u00e7\u00e3o de erros. Programa\u00e7\u00e3o \u00e9 processo. Quanto melhor voc\u00ea compreender cada etapa, mais f\u00e1cil ser\u00e1 evoluir para projetos maiores. Aula completa \u2014 React do Zero para Iniciantes Na aula abaixo desenvolvemos o projeto passo a passo, explicando os conceitos durante a constru\u00e7\u00e3o da aplica\u00e7\u00e3o. Pr\u00f3ximo passo: o back-end Este projeto n\u00e3o termina no React. Na pr\u00f3xima etapa vamos trabalhar o back-end do Cat\u00e1logo de Produtos utilizando Node.js e Express. Assim come\u00e7amos a enxergar as duas partes trabalhando juntas: React \u2192 Front-end Node.js + Express \u2192 Back-end A proposta \u00e9 evoluir gradualmente, acrescentando novos conceitos conforme os projetos avan\u00e7am.<\/p>\n","protected":false},"author":1,"featured_media":2308,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[22],"tags":[],"class_list":["post-2307","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-react"],"_links":{"self":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2307"}],"version-history":[{"count":4,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2307\/revisions"}],"predecessor-version":[{"id":2312,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2307\/revisions\/2312"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=\/wp\/v2\/media\/2308"}],"wp:attachment":[{"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/desvendandoocodigo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}