{"componentChunkName":"component---src-templates-blog-js","path":"/blog/2018/12/19/react-v-16-7.html","result":{"data":{"markdownRemark":{"html":"<p>Nossa última versão inclui um correção de bug (bugfix) de desempenho para <code class=\"gatsby-code-text\">React.lazy</code>. Embora não haja alterações na API, estamos lançando isso como uma versão minor em vez de um patch.</p>\n<h2 id=\"why-is-this-bugfix-a-minor-instead-of-a-patch\"><a href=\"#why-is-this-bugfix-a-minor-instead-of-a-patch\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Por Que Este Bugfix é Minor Em Vez de Um Patch? </h2>\n<p>React segue <a href=\"/docs/faq-versioning.html\">versionamento semântico</a>. Normalmente, isso significa que usamos versões patch para correções de bugs e minors para novos recursos (non-breaking). No entanto, reservamos a opção de liberar versões minor, mesmo que elas não incluam novos recursos. A motivação é reservar patches para mudanças que tenham uma chance muito baixa de quebrar. Os patches são o tipo mais importante de lançamento, porque às vezes eles contém correções críticas de bugs. Isso significa que os lançamentos de patch têm um padrão mais alto de confiabilidade. É inaceitável que um patch introduza bugs adicionais, porque se as pessoas começarem a desconfiar dos patches, isso compromete nossa capacidade de corrigir bugs críticos quando eles surgem - por exemplo, para corrigir uma vulnerabilidade de segurança.</p>\n<p>Nós nunca pretendemos enviar bugs. React tem uma merecida reputação de estabilidade e nós pretendemos mantê-la assim. Nós testamos completamente todas as versões do React antes de liberar. Isso inclui testes unitários, testes generativos (difusos), testes de integração e alimentação interna em dezenas de milhares de componentes. No entanto, às vezes cometemos erros. É por isso que, daqui para frente, nossa política será a de que, se um lançamento contiver alterações não triviais, usaremos a versão minor, mesmo que o comportamento externo seja o mesmo. Também vamos usar o minor ao alterar as APIs com prefixo <code class=\"gatsby-code-text\">unstable_</code>.</p>\n<h2 id=\"can-i-use-hooks-yet\"><a href=\"#can-i-use-hooks-yet\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Já Posso Usar Hooks? </h2>\n<p>Ainda não, mas em breve!</p>\n<p>Na React Conf, dissemos que o 16.7 seria o primeiro lançamento a incluir Hooks. Isso foi um erro. Não deveríamos ter anexado um número de versão específico a um recurso não lançado. Nós vamos evitar isso no futuro.</p>\n<p>Embora o 16.7 não inclua Hooks, por favor, não deduza nada sobre a linha do tempo do lançamento de Hooks. Nossos planos para hooks são inalterados:</p>\n<ul>\n<li>A <a href=\"https://github.com/reactjs/rfcs/pull/68\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">proposta dos Hooks</a> foi aceita (<a href=\"https://github.com/reactjs/rfcs/pull/68#issuecomment-439314884\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">com pequenas alterações planejadas em resposta ao feedback</a>).</li>\n<li>A <a href=\"https://github.com/facebook/react/commit/7bee9fbdd49aa5b9365a94b0ddf6db04bc1bf51c\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">implementação</a> foi mesclada no repositório React (atrás de uma feature flag).</li>\n<li>Estamos atualmente na fase de testes e você pode esperar um lançamento público dentro de alguns meses.</li>\n</ul>\n<p>Ouvimos de muitas pessoas que querem começar a usar os Hooks em seus apps. Nós também mal podemos esperar para lançá-los! Mas como Hooks muda a forma como escrevemos componentes React, estamos tirando um tempo extra para acertar os detalhes. Agradecemos sua paciência enquanto preparamos este interessante novo recurso para que você, err…  <em>use</em>.</p>\n<p>Saiba mais sobre <a href=\"/blog/2018/11/27/react-16-roadmap.html\">nosso roadmap</a> em nosso post anterior.</p>\n<h2 id=\"installation\"><a href=\"#installation\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Instalação </h2>\n<p>React v16.7.0 está disponível no registro npm.</p>\n<p>Para instalar React 16 com Yarn, execute:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"gatsby-code-bash\"><code class=\"gatsby-code-bash\"><span class=\"token function\">yarn</span> <span class=\"token function\">add</span> react@^16.7.0 react-dom@^16.7.0</code></pre></div>\n<p>Para instalar React 16 com npm, execute:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"gatsby-code-bash\"><code class=\"gatsby-code-bash\"><span class=\"token function\">npm</span> <span class=\"token function\">install</span> --save react@^16.7.0 react-dom@^16.7.0</code></pre></div>\n<p>Nós também fornecemos builds UMD de React via um CDN:</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"gatsby-code-html\"><code class=\"gatsby-code-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">crossorigin</span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>https://unpkg.com/react@16/umd/react.production.min.js<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">crossorigin</span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>https://unpkg.com/react-dom@16/umd/react-dom.production.min.js<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>Consulte a documentação para <a href=\"/docs/installation.html\">instruções detalhadas de instalação</a>.</p>\n<h2 id=\"changelog\"><a href=\"#changelog\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Changelog </h2>\n<h3 id=\"react-dom\"><a href=\"#react-dom\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React DOM </h3>\n<ul>\n<li>Correção o desempenho de <code class=\"gatsby-code-text\">React.lazy</code> para um grande número de componentes lazily-loaded. (<a href=\"http://github.com/acdlite\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@acdlite</a> em <a href=\"https://github.com/facebook/react/pull/14429\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#14429</a>)</li>\n<li>Limpar campos na desmontagem para evitar vazamentos de memória. (<a href=\"http://github.com/trueadm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@trueadm</a> em <a href=\"https://github.com/facebook/react/pull/14276\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#14276</a>)</li>\n<li>Correção de bug com SSR e context ao misturar <code class=\"gatsby-code-text\">react-dom/server@16.6</code> e <code class=\"gatsby-code-text\">react@&lt;16.6</code>. (<a href=\"http://github.com/gaearon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaearon</a> em <a href=\"https://github.com/facebook/react/pull/14291\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#14291</a>)</li>\n<li>Correção de uma regressão de desempenho no modo de criação de perfil (profiling). (<a href=\"http://github.com/bvaughn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bvaughn</a> em <a href=\"https://github.com/facebook/react/pull/14383\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#14383</a>)</li>\n</ul>\n<h3 id=\"scheduler-experimental\"><a href=\"#scheduler-experimental\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Agendador (Experimental) </h3>\n<ul>\n<li>Postar para MessageChannel em vez da janela. (<a href=\"http://github.com/acdlite\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@acdlite</a> em <a href=\"https://github.com/facebook/react/pull/14234\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#14234</a>)</li>\n<li>Reduzir a sobrecarga de serialização. (<a href=\"http://github.com/developit\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@developit</a> em <a href=\"https://github.com/facebook/react/pull/14249\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#14249</a>)</li>\n<li>Corrigir fallback para <code class=\"gatsby-code-text\">setTimeout</code> em ambiente de testes. (<a href=\"http://github.com/bvaughn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bvaughn</a> em <a href=\"https://github.com/facebook/react/pull/14358\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#14358</a>)</li>\n<li>Adicionar métodos para depuração. (<a href=\"http://github.com/mrkev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mrkev</a> em <a href=\"https://github.com/facebook/react/pull/14053\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#14053</a>)</li>\n</ul>","excerpt":"Nossa última versão inclui um correção de bug (bugfix) de desempenho para . Embora não haja alterações na API, estamos lançando isso como uma versão minor em vez de um patch. Por Que Este Bugfix é Minor Em Vez de Um Patch?  React segue versionamento semântico. Normalmente, isso significa que usamos versões patch para correções de bugs e minors para novos recursos (non-breaking). No entanto, reservamos a opção de liberar versões minor, mesmo que elas não incluam novos recursos. A motivação é…","frontmatter":{"title":"React v16.7: Não, Este Não é Aquele Com Hooks","next":null,"prev":null,"author":[{"frontmatter":{"name":"Andrew Clark","url":"https://twitter.com/acdlite"}}]},"fields":{"date":"19 de dezembro de 2018","path":"content/blog/2018-12-19-react-v-16-7.md","slug":"/blog/2018/12/19/react-v-16-7.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/2018/12/19/react-v-16-7.html"}},"staticQueryHashes":[]}