{"componentChunkName":"component---src-templates-blog-js","path":"/blog/2016/07/11/introducing-reacts-error-code-system.html","result":{"data":{"markdownRemark":{"html":"<p>Construir uma melhor experiência para o desenvolvedor tem sido uma das coisas com as quais o React se preocupa profundamente, e uma parte crucial é detectar possíveis erros antipadrões em potencial e fornecer mensagens de erro úteis quando as coisas (podem) derem errado. No entanto, a maioria deles existem apenas no modo de desenvolvimento; na produção, evitamos ter afirmações extremamente custosas e enviar mensagens de erro completas para reduzir o número de bytes enviados pela conexão.</p>\n<p>Antes desta versão, removemos as mensagens de erro no momento da construção e é por isso que você pode ter visto essa mensagem em produção:</p>\n<blockquote>\n<p>Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.</p>\n</blockquote>\n<p>Para facilitar o debug em produção, estamos introduzindo um Sistema de Código de Erro no <a href=\"https://github.com/facebook/react/releases/tag/v15.2.0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">15.2.0</a>. Nós desenvolvemos um <a href=\"https://github.com/facebook/react/blob/master/scripts/error-codes/extract-errors.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">script</a> que coleta todas as nossas mensagens de erro <code class=\"gatsby-code-text\">invariantes</code> e as põem em um <a href=\"https://github.com/facebook/react/blob/master/scripts/error-codes/codes.json\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">arquivo JSON</a>, e em tempo de execução, o Babel usa o JSON para <a href=\"https://github.com/facebook/react/blob/master/scripts/error-codes/transform-error-messages.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">reescrever</a> nossas chamadas <code class=\"gatsby-code-text\">invariantes</code> em produção para referenciar os IDs de erro correspondentes. Agora, quando as coisas derem errado na produção, o erro que o React exibe contém um URL com um ID de erro e informações relevantes. O URL direcionará você para uma página em nossa documentação em que a mensagem de erro original é remontada.</p>\n<p>Embora esperemos que você não veja erros com frequência, você pode ver como isso funciona <a href=\"/docs/error-decoder.html?invariant=109&#x26;args%5B%5D=Foo\">aqui</a>. É assim que será o mesmo erro que exibimos acima na introdução:</p>\n<blockquote>\n<p>Minified React error #109; visit <a href=\"/docs/error-decoder.html?invariant=109&#x26;args%5B%5D=Foo\">https://reactjs.org/docs/error-decoder.html?invariant=109&#x26;args[]=Foo</a> for the full message or use the non-minified dev environment for full errors and additional helpful warnings.</p>\n</blockquote>\n<p>Fazemos isso para que a experiência do desenvolvedor seja a melhor possível, enquanto também mantém o tamanho do bundle de produção o menor possível.  Esse recurso não deve exigir alterações do seu lado — use os arquivos <code class=\"gatsby-code-text\">min.js</code> em produção ou agrupe o código do aplicativo com <code class=\"gatsby-code-text\">process.env.NODE_ENV === &#39;production&#39;</code> e você deve estar pronto!</p>","excerpt":"Construir uma melhor experiência para o desenvolvedor tem sido uma das coisas com as quais o React se preocupa profundamente, e uma parte crucial é detectar possíveis erros antipadrões em potencial e fornecer mensagens de erro úteis quando as coisas (podem) derem errado. No entanto, a maioria deles existem apenas no modo de desenvolvimento; na produção, evitamos ter afirmações extremamente custosas e enviar mensagens de erro completas para reduzir o número de bytes enviados pela conexão. Antes…","frontmatter":{"title":"Apresentando o Sistema de Código de Erro do React","next":null,"prev":null,"author":[{"frontmatter":{"name":"Keyan Zhang","url":"https://twitter.com/keyanzhang"}}]},"fields":{"date":"11 de julho de 2016","path":"content/blog/2016-07-11-introducing-reacts-error-code-system.md","slug":"/blog/2016/07/11/introducing-reacts-error-code-system.html"}},"allMarkdownRemark":{"edges":[{"node":{"frontmatter":{"title":"React v17.0"},"fields":{"slug":"/blog/2020/10/20/react-v17.html"}}},{"node":{"frontmatter":{"title":"Apresentando o novo JSX Transform"},"fields":{"slug":"/blog/2020/09/22/introducing-the-new-jsx-transform.html"}}},{"node":{"frontmatter":{"title":"React v17.0 Candidato à lançamento: Sem novas funcionalidades"},"fields":{"slug":"/blog/2020/08/10/react-v17-rc.html"}}},{"node":{"frontmatter":{"title":"React v16.13.0"},"fields":{"slug":"/blog/2020/02/26/react-v16.13.0.html"}}},{"node":{"frontmatter":{"title":"Construindo Ótimas Experiências de Usuário com Modo Concorrente e Suspense"},"fields":{"slug":"/blog/2019/11/06/building-great-user-experiences-with-concurrent-mode-and-suspense.html"}}},{"node":{"frontmatter":{"title":"Preparando para o Futuro com as Prereleases React"},"fields":{"slug":"/blog/2019/10/22/react-release-channels.html"}}},{"node":{"frontmatter":{"title":"Apresentando o novo React DevTools"},"fields":{"slug":"/blog/2019/08/15/new-react-devtools.html"}}},{"node":{"frontmatter":{"title":"React v16.9.0 e a atualização do Roadmap"},"fields":{"slug":"/blog/2019/08/08/react-v16.9.0.html"}}},{"node":{"frontmatter":{"title":"O React já esta traduzido? ¡Sí! Sim! はい！"},"fields":{"slug":"/blog/2019/02/23/is-react-translated-yet.html"}}},{"node":{"frontmatter":{"title":"React v16.8: O React com Hooks"},"fields":{"slug":"/blog/2019/02/06/react-v16.8.0.html"}}}]}},"pageContext":{"slug":"/blog/2016/07/11/introducing-reacts-error-code-system.html"}},"staticQueryHashes":[]}