{"componentChunkName":"component---src-templates-blog-js","path":"/blog/2020/02/26/react-v16.13.0.html","result":{"data":{"markdownRemark":{"html":"<p>Hoje estamos lançando o React 16.13.0. Ele contém correções de bugs e novos avisos de depreciação para ajudar a se preparar para uma futura versão principal.</p>\n<h2 id=\"new-warnings\"><a href=\"#new-warnings\" 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>Novos Avisos </h2>\n<h3 id=\"warnings-for-some-updates-during-render\"><a href=\"#warnings-for-some-updates-during-render\" 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>Avisos para algumas atualizações durante a renderização </h3>\n<p>Um componente React não deve causar efeitos colaterais em outros componentes durante a renderização.</p>\n<p>É suportado chamar <code class=\"gatsby-code-text\">setState</code> durante a renderização, mas <a href=\"/docs/hooks-faq.html#how-do-i-implement-getderivedstatefromprops\">somente para <em>o mesmo componente</em></a>. Se você chamar <code class=\"gatsby-code-text\">setState</code> durante uma renderização em um componente diferente, você verá um aviso:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"gatsby-code-text\"><code class=\"gatsby-code-text\">Warning: Cannot update a component from inside the function body of a different component.</code></pre></div>\n<p><strong>Este aviso ajudará a encontrar erros de aplicativos causados ​​por alterações não intencionais do estado.</strong> Nos raros casos em que você deseja alterar intencionalmente o estado de outro componente como resultado da renderização, é possível agrupar a chamada do <code class=\"gatsby-code-text\">setState</code> dentro do <code class=\"gatsby-code-text\">useEffect</code>.</p>\n<h3 id=\"warnings-for-conflicting-style-rules\"><a href=\"#warnings-for-conflicting-style-rules\" 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>Avisos para regras de estilo conflitantes </h3>\n<p>Ao aplicar dinamicamente um <code class=\"gatsby-code-text\">style</code> que contém versões <em>longhand</em> e <em>shorthand</em> de propriedades CSS, combinações específicas de atualizações podem causar estilos inconsistentes. Por exemplo: </p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">style</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span>toggle <span class=\"token operator\">?</span> \n  <span class=\"token punctuation\">{</span> background<span class=\"token operator\">:</span> <span class=\"token string\">'blue'</span><span class=\"token punctuation\">,</span> backgroundColor<span class=\"token operator\">:</span> <span class=\"token string\">'red'</span> <span class=\"token punctuation\">}</span> <span class=\"token operator\">:</span> \n  <span class=\"token punctuation\">{</span> backgroundColor<span class=\"token operator\">:</span> <span class=\"token string\">'red'</span> <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\n  ...\n</span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span> </code></pre></div>\n<p>Você pode esperar que essa <code class=\"gatsby-code-text\">&lt;div&gt;</code> tenha sempre um fundo vermelho, não importa o valor de <code class=\"gatsby-code-text\">toggle</code>. No entanto, ao alternar o valor de <code class=\"gatsby-code-text\">toggle</code> entre <code class=\"gatsby-code-text\">true</code> e <code class=\"gatsby-code-text\">false</code>, a cor de fundo começa como <code class=\"gatsby-code-text\">red</code>, então alterna entre <code class=\"gatsby-code-text\">transparent</code> e <code class=\"gatsby-code-text\">blue</code>, <a href=\"https://codesandbox.io/s/suspicious-sunset-g3jub\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">como você pode ver nessa demo</a>.</p>\n<p><strong>O React agora detecta regras de estilo conflitantes e registra um aviso.</strong> Para corrigir um problema, não misture versões <em>shorthand</em> e <em>longhand</em> da mesma propriedade CSS na prop <code class=\"gatsby-code-text\">style</code>.</p>\n<h3 id=\"warnings-for-some-deprecated-string-refs\"><a href=\"#warnings-for-some-deprecated-string-refs\" 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>Avisos para algumas string refs depreciadas </h3>\n<p><a href=\"/docs/refs-and-the-dom.html#legacy-api-string-refs\">String Refs é uma API legada</a> que é desencorajada e será depreciada no futuro:</p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Button</span></span> <span class=\"token attr-name\">ref</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>myRef<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span></code></pre></div>\n<p>(Não confunda String Refs com refs em geral, o que <strong>permanece totalmente suportado</strong>.)</p>\n<p>No futuro, forneceremos um script automatizado (um “codemod”) para migrar para longe das referências de string. No entanto, alguns casos raros não podem ser migrados automaticamente. Esta versão adiciona um novo aviso <strong>apenas para esses casos</strong> antes da depreciação.</p>\n<p>Por exemplo, ele será acionado se você usar String Refs junto com o padrão Render Prop:</p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\"><span class=\"token keyword\">class</span> <span class=\"token class-name\">ClassWithRenderProp</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">React<span class=\"token punctuation\">.</span>Component</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token function\">componentDidMount</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">doSomething</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>refs<span class=\"token punctuation\">.</span>myRef<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>props<span class=\"token punctuation\">.</span><span class=\"token function\">children</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">class</span> <span class=\"token class-name\">ClassParent</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">React<span class=\"token punctuation\">.</span>Component</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span>\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">ClassWithRenderProp</span></span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\n        </span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Button</span></span> <span class=\"token attr-name\">ref</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>myRef<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span><span class=\"token punctuation\">}</span><span class=\"token plain-text\">\n      </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span><span class=\"token class-name\">ClassWithRenderProp</span></span><span class=\"token punctuation\">></span></span>\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Um código como esse geralmente indica bugs. (Você pode esperar que a ref esteja disponível em <code class=\"gatsby-code-text\">ClassParent</code>, mas em vez disso, é colocado em <code class=\"gatsby-code-text\">ClassWithRenderProp</code>).</p>\n<p><strong>Você provavelmente não tem código como este</strong>. Se você faz e é intencional, converta-o para <a href=\"/docs/refs-and-the-dom.html#creating-refs\"><code class=\"gatsby-code-text\">React.createRef()</code></a> em vez de:</p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\"><span class=\"token keyword\">class</span> <span class=\"token class-name\">ClassWithRenderProp</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">React<span class=\"token punctuation\">.</span>Component</span> <span class=\"token punctuation\">{</span>\n  myRef <span class=\"token operator\">=</span> React<span class=\"token punctuation\">.</span><span class=\"token function\">createRef</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token function\">componentDidMount</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">doSomething</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>myRef<span class=\"token punctuation\">.</span>current<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>props<span class=\"token punctuation\">.</span><span class=\"token function\">children</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>myRef<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">class</span> <span class=\"token class-name\">ClassParent</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">React<span class=\"token punctuation\">.</span>Component</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span>\n      <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">ClassWithRenderProp</span></span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\n        </span><span class=\"token punctuation\">{</span><span class=\"token parameter\">myRef</span> <span class=\"token operator\">=></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Button</span></span> <span class=\"token attr-name\">ref</span><span class=\"token script language-javascript\"><span class=\"token script-punctuation punctuation\">=</span><span class=\"token punctuation\">{</span>myRef<span class=\"token punctuation\">}</span></span> <span class=\"token punctuation\">/></span></span><span class=\"token punctuation\">}</span><span class=\"token plain-text\">\n      </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span><span class=\"token class-name\">ClassWithRenderProp</span></span><span class=\"token punctuation\">></span></span>\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<blockquote>\n<p>Nota</p>\n<p>Para ver este aviso, você precisa ter o <a href=\"https://babeljs.io/docs/en/babel-plugin-transform-react-jsx-self\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">babel-plugin-transform-react-jsx-self</a> instalado nos seus plugins Babel. Ele deve ser ativado <em>apenas</em> no modo de desenvolvimento. </p>\n<p>Se você usa o Create React App ou tem a predefinição “react” com o Babel 7+, você já tem esse plug-in instalado por padrão.</p>\n</blockquote>\n<h3 id=\"deprecating-reactcreatefactory\"><a href=\"#deprecating-reactcreatefactory\" 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>Depreciando <code class=\"gatsby-code-text\">React.createFactory</code> </h3>\n<p><a href=\"/docs/react-api.html#createfactory\"><code class=\"gatsby-code-text\">React.createFactory</code></a> é um helper legado para criar elementos React. Esta versão adiciona um aviso de depreciação ao método. Ele será removido em uma versão major futura.</p>\n<p>Substitua os usos de <code class=\"gatsby-code-text\">React.createFactory</code> com JSX regular. Como alternativa, você pode copiar e colar esse auxiliar de uma linha ou publicá-lo como uma biblioteca:</p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\"><span class=\"token keyword\">let</span> <span class=\"token function-variable function\">createFactory</span> <span class=\"token operator\">=</span> <span class=\"token parameter\">type</span> <span class=\"token operator\">=></span> React<span class=\"token punctuation\">.</span><span class=\"token function\">createElement</span><span class=\"token punctuation\">.</span><span class=\"token function\">bind</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">null</span><span class=\"token punctuation\">,</span> type<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Faz exatamente a mesma coisa.</p>\n<h3 id=\"deprecating-reactdomunstable_createportal-in-favor-of-reactdomcreateportal\"><a href=\"#deprecating-reactdomunstable_createportal-in-favor-of-reactdomcreateportal\" 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>Depreciando <code class=\"gatsby-code-text\">ReactDOM.unstable_createPortal</code> em favor de <code class=\"gatsby-code-text\">ReactDOM.createPortal</code> </h3>\n<p>Quando o React 16 foi lançado,<code class=\"gatsby-code-text\">createPortal</code> tornou-se uma API oficialmente suportada.</p>\n<p>No entanto, mantivemos <code class=\"gatsby-code-text\">unstable_createPortal</code> como um alias suportado para manter as poucas bibliotecas que o adotaram funcionando. Agora estamos depreciando o alias instável. Use <code class=\"gatsby-code-text\">createPortal</code> diretamente em vez de <code class=\"gatsby-code-text\">unstable_createPortal</code>. Tem exatamente a mesma assinatura.</p>\n<h2 id=\"other-improvements\"><a href=\"#other-improvements\" 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>Outras Melhorias </h2>\n<h3 id=\"component-stacks-in-hydration-warnings\"><a href=\"#component-stacks-in-hydration-warnings\" 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>Pilhas de componentes nos avisos de hidratação </h3>\n<p>O React adiciona pilhas de componentes a seus avisos de desenvolvimento, permitindo que os desenvolvedores isolem bugs e depurem seus programas. Esta versão adiciona pilhas de componentes a vários avisos de desenvolvimento que não os tinham anteriormente. Como exemplo, considere este aviso de hidratação das versões anteriores:</p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/20bd06e254e7ad32aa007a59a41d1e65/61583/hydration-warning-before.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 840px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 7.142857142857142%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAP0lEQVQI1zWLQQrAIAwE+/+PJhqRYkkOlriNDR6GZQb2msTwUuAcSwSvNV0k2/azrWVXC/RnmUF7xx2fdzz4ABFxTIdyNAG5AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"Uma captura de tela do aviso do console, simplesmente indicando a natureza da incompatibilidade de hidratação: \"Aviso: o HTML do servidor esperado deve conter uma div correspondente em div.\"\"\n        title=\"\"\n        src=\"/static/20bd06e254e7ad32aa007a59a41d1e65/1e088/hydration-warning-before.png\"\n        srcset=\"/static/20bd06e254e7ad32aa007a59a41d1e65/65ed1/hydration-warning-before.png 210w,\n/static/20bd06e254e7ad32aa007a59a41d1e65/d10fb/hydration-warning-before.png 420w,\n/static/20bd06e254e7ad32aa007a59a41d1e65/1e088/hydration-warning-before.png 840w,\n/static/20bd06e254e7ad32aa007a59a41d1e65/78612/hydration-warning-before.png 1260w,\n/static/20bd06e254e7ad32aa007a59a41d1e65/61583/hydration-warning-before.png 1616w\"\n        sizes=\"(max-width: 840px) 100vw, 840px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p>Embora esteja apontando um erro no código, não está claro onde o erro existe e o que fazer em seguida. Esta versão adiciona uma pilha de componentes a este aviso, o que faz com que fique assim:</p>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/abf3b580867e79d5f377330842bb6522/d3d45/hydration-warning-after.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 840px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 16.19047619047619%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAk0lEQVQI11WOwQ6CMBBE+f/P4k7wLBEOEJEKFSItRmifg17w8LKzm8nOJOu1JdQ1oaoIRcGrrFikt7Yldh3hJqS/09wJ+22eCc8fcXb4fmCU5z1NJFEL+QnSFLIML1yeEy4lKAw9wfRwP2AfB0Y2/Vjli4MlCW6BvU1xJjYNDAqwFtQkGqMGauE90R1xf6Ab8iD9Ab5h5IiPbXX7AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"Uma captura de tela do aviso do console, informando a natureza da incompatibilidade de hidratação, mas também incluindo uma pilha de componentes: \"Aviso: o HTML do servidor esperado deve conter uma div correspondente em div, em div(no pages/index.js:4)...\"\"\n        title=\"\"\n        src=\"/static/abf3b580867e79d5f377330842bb6522/1e088/hydration-warning-after.png\"\n        srcset=\"/static/abf3b580867e79d5f377330842bb6522/65ed1/hydration-warning-after.png 210w,\n/static/abf3b580867e79d5f377330842bb6522/d10fb/hydration-warning-after.png 420w,\n/static/abf3b580867e79d5f377330842bb6522/1e088/hydration-warning-after.png 840w,\n/static/abf3b580867e79d5f377330842bb6522/78612/hydration-warning-after.png 1260w,\n/static/abf3b580867e79d5f377330842bb6522/d3d45/hydration-warning-after.png 1614w\"\n        sizes=\"(max-width: 840px) 100vw, 840px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p>Isso deixa claro onde está o problema e permite localizar e corrigir o bug mais rapidamente.</p>\n<h3 id=\"notable-bugfixes\"><a href=\"#notable-bugfixes\" 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>Correções de bugs importantes </h3>\n<p>Esta versão contém algumas outras melhorias importantes:</p>\n<ul>\n<li>No Modo Estrito de Desenvolvimento, o React chama os métodos do ciclo de vida duas vezes para eliminar possíveis efeitos colaterais indesejados. Esta versão adiciona esse comportamento a <code class=\"gatsby-code-text\">shouldComponentUpdate</code>. Isso não deve afetar a maioria dos códigos, a menos que você tenha efeitos colaterais em <code class=\"gatsby-code-text\">shouldComponentUpdate</code>. Para corrigir isso, mova o código com efeitos colaterais para <code class=\"gatsby-code-text\">componentDidUpdate</code>.</li>\n<li>No Modo Estrito de Desenvolvimento, os avisos para o uso da API de contexto legada não incluíam a pilha do componente que acionou o aviso. Esta versão adiciona a pilha ausente ao aviso.</li>\n<li><code class=\"gatsby-code-text\">onMouseEnter</code> agora não é disparado em elementos <code class=\"gatsby-code-text\">&lt;button&gt;</code> desabilitados.</li>\n<li>O ReactDOM tinha uma exportação de <code class=\"gatsby-code-text\">version</code> ausente desde que publicamos a v16. Esta versão adiciona de volta. Não recomendamos o uso na lógica do aplicativo, mas é útil ao depurar problemas com incompatibilidade / várias versões do ReactDOM na mesma página.</li>\n</ul>\n<p>Agradecemos a todos os colaboradores que ajudaram a resolver e solucionar esses e outros problemas. Você pode encontrar o changelog completo <a href=\"#changelog\">abaixo</a>.</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<h3 id=\"react\"><a href=\"#react\" 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 </h3>\n<p>O React v16.13.0 está disponível no registro npm.</p>\n<p>Para instalar o React 16 com o 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.13.0 react-dom@^16.13.0</code></pre></div>\n<p>Para instalar o 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.13.0 react-dom@^16.13.0</code></pre></div>\n<p>Também fornecemos compilações UMD do React por meio de uma 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\"><a href=\"#react\" 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 </h3>\n<ul>\n<li>Avisa quando uma string ref é usada de uma maneira que não seja compatível com um futuro codemod (<a href=\"https://github.com/lunaruan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lunaruan</a> in <a href=\"https://github.com/facebook/react/pull/17864\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17864</a>)</li>\n<li>Deprecia <code class=\"gatsby-code-text\">React.createFactory()</code> (<a href=\"https://github.com/trueadm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@trueadm</a> in <a href=\"https://github.com/facebook/react/pull/17878\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17878</a>)</li>\n</ul>\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>Avisa quando houver alterações <code class=\"gatsby-code-text\">style</code> podem causar uma colisão inesperada (<a href=\"https://github.com/sophiebits\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sophiebits</a> em <a href=\"https://github.com/facebook/react/pull/14181\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#14181</a>, <a href=\"https://github.com/facebook/react/pull/18002\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#18002</a>)</li>\n<li>Avisa quando um componente de função é atualizado durante a fase de renderização de outro componente (<a href=\"(https://github.com/acdlite)\">@acdlite</a> em <a href=\"https://github.com/facebook/react/pull/17099\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17099</a>)</li>\n<li>Depreciado <code class=\"gatsby-code-text\">unstable_createPortal</code> (<a href=\"https://github.com/trueadm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@trueadm</a> em <a href=\"https://github.com/facebook/react/pull/17880\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17880</a>)</li>\n<li>Conserta <code class=\"gatsby-code-text\">onMouseEnter</code> sendo acionado nos botões desativados (<a href=\"https://github.com/AlfredoGJ\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@AlfredoGJ</a> em <a href=\"https://github.com/facebook/react/pull/17675\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17675</a>)</li>\n<li>Chama <code class=\"gatsby-code-text\">shouldComponentUpdate</code> duas vezes ao desenvolver em <code class=\"gatsby-code-text\">StrictMode</code> (<a href=\"https://github.com/bvaughn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bvaughn</a> em <a href=\"https://github.com/facebook/react/pull/17942\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17942</a>)</li>\n<li>Adiciona propriedade <code class=\"gatsby-code-text\">version</code> para ReactDOM (<a href=\"https://github.com/ealush\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ealush</a> em <a href=\"https://github.com/facebook/react/pull/15780\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#15780</a>)</li>\n<li>Não chamar <code class=\"gatsby-code-text\">toString()</code> em <code class=\"gatsby-code-text\">dangerouslySetInnerHTML</code> (<a href=\"https://github.com/sebmarkbage\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sebmarkbage</a> em <a href=\"https://github.com/facebook/react/pull/17773\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17773</a>)</li>\n<li>Mostra pilhas de componentes em mais avisos (<a href=\"https://github.com/gaearon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaearon</a> em <a href=\"https://github.com/facebook/react/pull/17922\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17922</a>, <a href=\"https://github.com/facebook/react/pull/17586\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17586</a>)</li>\n</ul>\n<h3 id=\"concurrent-mode-experimental\"><a href=\"#concurrent-mode-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>Modo Concorrente (Experimental) </h3>\n<ul>\n<li>Avisa sobre usos problemáticos de <code class=\"gatsby-code-text\">ReactDOM.createRoot()</code> (<a href=\"https://github.com/trueadm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@trueadm</a> em <a href=\"https://github.com/facebook/react/pull/17937\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17937</a>)</li>\n<li>Retira <code class=\"gatsby-code-text\">ReactDOM.createRoot()</code> parâmetros de retorno de chamada e avisos adicionais sobre o uso (<a href=\"https://github.com/bvaughn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bvaughn</a> em <a href=\"https://github.com/facebook/react/pull/17916\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17916</a>)</li>\n<li>Não agrupe o trabalho ocioso / fora da tela com outro trabalho (<a href=\"https://github.com/sebmarkbage\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sebmarkbage</a> em <a href=\"https://github.com/facebook/react/pull/17456\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17456</a>)</li>\n<li>Ajusta heurística de limite de processamento do <code class=\"gatsby-code-text\">SuspenseList</code> (<a href=\"https://github.com/sebmarkbage\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sebmarkbage</a> em <a href=\"https://github.com/facebook/react/pull/17455\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17455</a>)</li>\n<li>Adiciona prioridades de plugins de eventos ausentes (<a href=\"https://github.com/trueadm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@trueadm</a> em <a href=\"https://github.com/facebook/react/pull/17914\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17914</a>)</li>\n<li>Conserta <code class=\"gatsby-code-text\">isPending</code> somente sendo verdadeiro ao fazer a transição de dentro de um evento de input (<a href=\"https://github.com/acdlite\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@acdlite</a> em <a href=\"https://github.com/facebook/react/pull/17382\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17382</a>)</li>\n<li>Conserta componentes <code class=\"gatsby-code-text\">React.memo</code> que descartam atualizações quando interrompidos por uma atualização de prioridade mais alta (<a href=\"https://github.com/acdlite\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@acdlite</a> em <a href=\"https://github.com/facebook/react/pull/18091\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#18091</a>)</li>\n<li>Não avise ao suspender com a prioridade errada (<a href=\"https://github.com/gaearon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaearon</a> em <a href=\"https://github.com/facebook/react/pull/17971\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17971</a>)</li>\n<li>Corrige um bug com atualizações de rebasing (<a href=\"https://github.com/acdlite\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@acdlite</a> e <a href=\"https://github.com/sebmarkbage\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sebmarkbage</a> em <a href=\"https://github.com/facebook/react/pull/17560\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17560</a>, <a href=\"https://github.com/facebook/react/pull/17510\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17510</a>, <a href=\"https://github.com/facebook/react/pull/17483\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17483</a>, <a href=\"https://github.com/facebook/react/pull/17480\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#17480</a>)</li>\n</ul>","excerpt":"Hoje estamos lançando o React 16.13.0. Ele contém correções de bugs e novos avisos de depreciação para ajudar a se preparar para uma futura versão principal. Novos Avisos  Avisos para algumas atualizações durante a renderização  Um componente React não deve causar efeitos colaterais em outros componentes durante a renderização. É suportado chamar  durante a renderização, mas somente para o mesmo componente. Se você chamar  durante uma renderização em um componente diferente, você verá um aviso…","frontmatter":{"title":"React v16.13.0","next":null,"prev":null,"author":[{"frontmatter":{"name":"Sunil Pai","url":"https://twitter.com/threepointone"}}]},"fields":{"date":"26 de fevereiro de 2020","path":"content/blog/2020-02-26-react-v16.13.0.md","slug":"/blog/2020/02/26/react-v16.13.0.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/2020/02/26/react-v16.13.0.html"}},"staticQueryHashes":[]}