{"componentChunkName":"component---src-templates-blog-js","path":"/blog/2016/03/07/react-v15-rc1.html","result":{"data":{"markdownRemark":{"html":"<p>Desculpe pelo pequeno atraso em liberar esta release. Como dissemos, estivemos ocupados assistindo House of Cards. Essa cena do último episódio onde Francis e Claire Underwood <abbr title=\"Você não achou que daríamos spoiler de alguma coisa para você, não é?\">████████████████████████████████████</abbr>. WOW!</p>\n<p>Mas agora estamos prontos, então sem mais delongas, estamos disponibilizando agora uma <em>release canditate</em> para o React v15. Como lembrete, <a href=\"/blog/2016/02/19/new-versioning-scheme.html\">estamos mudando para versões principais</a> para indicar que estamos utilizando o React em produção há bastante tempo. Esta release 15.0 segue a nossa versão anterior 0.14 e vamos continuar a seguir a semver como temos vindo fazendo desde 2013. Também vale ressaltar que <a href=\"/blog/2016/01/12/discontinuing-ie8-support.html\">não suportaremos ativamente o Internet Explorer 8</a>. Acreditamos que o React funcionará em sua forma atual lá, mas não estaremos priorizando quaisquer esforços para corrigir novos problemas que afetam somente o IE8.</p>\n<p>Por favor, experimente-o antes de nós publicarmos a versão final. Deixe-nos saber se você algum problema, crie issues em nosso <a href=\"https://github.com/facebook/react\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repositório no GitHub</a>.</p>\n<h2 id=\"upgrade-guide\"><a href=\"#upgrade-guide\" 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>Guia de Atualização </h2>\n<p>Como sempre, temos algumas mudanças significativas nesta versão. Nós sabemos que mudanças podem ser dolorosas (a base de código do Facebook possui mais de 15.000 componentes), por isso sempre tentamos fazer alterações gradualmente a fim de minimizar a dor.</p>\n<p>Se o seu código estiver livre de avisos ao ser executado em versões abaixo do React 0.14, a atualização deverá ser fácil. A maior parte das alterações nesta versão ocorrem por trás das cortinas, impactando a forma com o React interage com o DOM. A outra mudança substancial é que o React agora suporta uma gama completa de elementos e atributos SVG. Além disso, temos um grande número de melhorias incrementais e avisos adicionais destinados a ajudar os desenvolvedores. Nós também estabelecemos algumas bases no core para trazer algumas novas capacidades em versões futuras.</p>\n<p>Veja o changelog abaixo para mais detalhes.</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>Recomendamos o uso do React a partir do <code class=\"gatsby-code-text\">npm</code> e utilizando uma ferramenta como o browserify ou webpack para criar o seu código em um único bundle. Para instalar os dois pacotes:</p>\n<ul>\n<li><code class=\"gatsby-code-text\">npm install --save react@15.0.0-rc.1 react-dom@15.0.0-rc.1</code></li>\n</ul>\n<p>Lembre-se que, por padrão o React executa verificações extras e fornece avisos úteis no modo de desenvolvimento. Quando estiver fazendo o deploy da sua aplicação, defina a variável de ambiente <code class=\"gatsby-code-text\">NODE_ENV</code> como <code class=\"gatsby-code-text\">production</code> para utilizar o build de produção do React que não inclui os avisos de desenvolvimento e funciona significativamente mais rápido.</p>\n<p>Se você ainda não pode utilizar o <code class=\"gatsby-code-text\">npm</code>, nós fornecemos compilações pré-construídas de navegador para sua conveniência, que também estão disponíveis no pacote <code class=\"gatsby-code-text\">react</code> no bower.</p>\n<ul>\n<li><strong>React</strong>\nBuild de desenvolvimento com avisos: <a href=\"https://fb.me/react-15.0.0-rc.1.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/react-15.0.0-rc.1.js</a>\nBuild minificada para produção: <a href=\"https://fb.me/react-15.0.0-rc.1.min.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/react-15.0.0-rc.1.min.js</a></li>\n<li><strong>React with Add-Ons</strong><br>\nBuild de desenvolvimento com avisos: <a href=\"https://fb.me/react-with-addons-15.0.0-rc.1.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/react-with-addons-15.0.0-rc.1.js</a>\nBuild minificada para produção: <a href=\"https://fb.me/react-with-addons-15.0.0-rc.1.min.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/react-with-addons-15.0.0-rc.1.min.js</a></li>\n<li><strong>React DOM</strong> (include React in the page before React DOM)<br>\nBuild de desenvolvimento com avisos: <a href=\"https://fb.me/react-dom-15.0.0-rc.1.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/react-dom-15.0.0-rc.1.js</a>\nBuild minificada para produção: <a href=\"https://fb.me/react-dom-15.0.0-rc.1.min.js\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://fb.me/react-dom-15.0.0-rc.1.min.js</a></li>\n</ul>\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=\"major-changes\"><a href=\"#major-changes\" 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>Major changes </h3>\n<ul>\n<li>\n<h4 id=\"documentcreateelement-está-dentro-e-data-reactid-está-fora\"><a href=\"#documentcreateelement-est%C3%A1-dentro-e-data-reactid-est%C3%A1-fora\" 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><code class=\"gatsby-code-text\">document.createElement</code> está dentro e <code class=\"gatsby-code-text\">data-reactid</code> está fora</h4>\n<p>Houveram uma série de grandes mudanças em nossas interações com o DOM. Uma das mudanças mais perceptíveis é que não definimos mais o atributo <code class=\"gatsby-code-text\">data-reactid</code> para cada nó do DOM. Embora isso torne muito mais difícil saber se um site está usando React, a vantagem é que o DOM é muito mais leve. Essa mudança possibilitou que alterássemos para usar <code class=\"gatsby-code-text\">document.createElement</code> na renderização inicial. Anteriormente, geraríamos uma grande sequência de HTML e em seguida definíamos o <code class=\"gatsby-code-text\">node.innerHTML</code>. Na época, foi decidido que isso seria mais rápido do que usar <code class=\"gatsby-code-text\">document.createElement</code> para a maioria dos casos e navegadores que suportamos. Os navegadores continuaram a melhorar e, por isso, esmagadoramente, isso não é mais verdade. Usando o <code class=\"gatsby-code-text\">createElement</code> podemos tornar outras partes do React mais rápidas. Os ids foram usados para mapear de volta os eventos para o componente React original, o que significa que tivemos que fazer um monte de trabalho em cada evento, mesmo que tenhamos cacheado esses dados fortemente. Conforme tivemos experiências, caching e caches particularmente inválidos, podem ser propensos a erros e vimos que torna-se difícil de reproduzir problemas ao longo dos anos como resultado. Agora podemos construir um mapeamento direto na hora da renderização, já que temos o controle no nó.</p>\n</li>\n<li>\n<h4 id=\"chega-de-spans-extras\"><a href=\"#chega-de-spans-extras\" 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>Chega de <code class=\"gatsby-code-text\">&lt;span&gt;</code>s extras</h4>\n<p>Outra grande mudança com nossa interação do DOM é como fazemos blocos de texto. Anteriormente, você deve ter notado que o React renderizava um monte de <code class=\"gatsby-code-text\">&lt;span&gt;</code>s extras, por exemplo, em nosso exemplo mais básico na página inicial nós renderizamos <code class=\"gatsby-code-text\">&lt;div&gt;Hello {this.props.name}&lt;/div&gt;</code>, resultando em uma marcação que continha 2 <code class=\"gatsby-code-text\">&lt;span&gt;</code>s. Agora deixaremos os nós de texto simples intercalados com nós de comentários que são usados para demarcação. Isso nos dá a mesma capacidade de atualizar pedaços individuais de texto, sem criar nós aninhados extras. Poucas pessoas dependeram da marcação real gerada aqui, então é provável que você não seja impactado. No entanto, se você tem esses <code class=\"gatsby-code-text\">&lt;span&gt;</code>s como seletor em seu CSS, você precisará se ajustar de acordo. Você sempre poderá renderizá-los explicitamente em seus componentes.</p>\n</li>\n<li>\n<h4 id=\"renderização-de-null-agora-utiliza-nós-de-comentários\"><a href=\"#renderiza%C3%A7%C3%A3o-de-null-agora-utiliza-n%C3%B3s-de-coment%C3%A1rios\" 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>Renderização de <code class=\"gatsby-code-text\">null</code> agora utiliza nós de comentários</h4>\n<p>Também usamos esses nós de comentários para mudar o que <code class=\"gatsby-code-text\">null</code> irá renderizar. Renderização para <code class=\"gatsby-code-text\">null</code> foi um recurso que adicionamos no React v0.11 e foi implementado renderizando elementos <code class=\"gatsby-code-text\">&lt;noscript&gt;</code>. Agora, ao renderizar para comentar nós, há uma chance de algumas de suas regras no CSS estarem selecionando a coisa errada, especificamente se você está fazendo uso de seletores <code class=\"gatsby-code-text\">:nth-child</code>. Isso, juntamente com as outras mudanças mencionadas acima, sempre foram considerados detalhes de implementação de como o React tem o DOM como alvo. Acreditamos que são mudanças seguras a se fazer sem passar por uma liberação com avisos detalhando as diferenças sutis, pois são detalhes que não devem ser dependidos. Além disso, vimos que essa mudança melhorou o desempenho do React para muitas aplicações típicas.</p>\n</li>\n<li>\n<h4 id=\"suporte-a-svg-melhorado\"><a href=\"#suporte-a-svg-melhorado\" 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>Suporte a SVG melhorado</h4>\n<p>Todas as tags e atributos SVG são totalmente suportados agora. (As tags SVG incomuns não estão presentes no ajudante de elemento <code class=\"gatsby-code-text\">React.DOM</code>, mas JSX e <code class=\"gatsby-code-text\">React.createElement</code> trabalham em todos os nomes de tag.) Todos os atributos SVG correspondem à sua capitalização e hifenização original, conforme definido na especificação (exemplo: <code class=\"gatsby-code-text\">gradientTransform</code> deve ser camel-cased, mas ‘clip-path’ deve ser hifenizado).</p>\n</li>\n</ul>\n<h3 id=\"breaking-changes\"><a href=\"#breaking-changes\" 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>Breaking changes </h3>\n<p>Vale a pena chamar a estrutura do DOM de mudanças novamente, em particular a mudança dos <code class=\"gatsby-code-text\">&lt;span&gt;</code>s. No curso da atualização da base de códigos do Facebook, encontramos uma quantidade muito pequena de código que dependia da marcação que o React gerou. Alguns desses casos foram testes de integração como o WebDriver, que estavam fazendo consultas com XPath muito específicas para direcionar os nós. Outros foram simplesmente testes usando <code class=\"gatsby-code-text\">ReactDOM.renderToStaticMarkup</code> e comparando a marcação. Mais uma vez, houve um número muito pequeno de mudanças que tinham que ser feitas, mas não queremos que ninguém seja pego de surpresa. Encorajamos todos a executar suas suítes de teste ao atualizar e considerar abordagens alternativas quando possível. Uma abordagem que funcionará para alguns casos é usar explicitamente <code class=\"gatsby-code-text\">&lt;span&gt;</code>s no seu método <code class=\"gatsby-code-text\">render</code>.</p>\n<p>Essas descontinuações foram introduzidas na versão v0.14 com um aviso e as APIs agora serão removidas.</p>\n<ul>\n<li>APIs obsoletas removidas do <code class=\"gatsby-code-text\">React</code>, especificamente <code class=\"gatsby-code-text\">findDOMNode</code>, <code class=\"gatsby-code-text\">render</code>, <code class=\"gatsby-code-text\">renderToString</code>, <code class=\"gatsby-code-text\">renderToStaticMarkup</code>, e <code class=\"gatsby-code-text\">unmountComponentAtNode</code>.</li>\n<li>APIs obsoletas removidas de <code class=\"gatsby-code-text\">React.addons</code>, especificamente <code class=\"gatsby-code-text\">batchedUpdates</code> e <code class=\"gatsby-code-text\">cloneWithProps</code>.</li>\n<li>APIs obsoletas removidas das instâncias componentes, especificamente <code class=\"gatsby-code-text\">setProps</code>, <code class=\"gatsby-code-text\">replaceProps</code>, e <code class=\"gatsby-code-text\">getDOMNode</code>.</li>\n</ul>\n<h3 id=\"new-deprecations-introduced-with-a-warning\"><a href=\"#new-deprecations-introduced-with-a-warning\" 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>Novas descontinuações, introduzido com um aviso </h3>\n<p>Cada uma dessas alterações continuará funcionando com um novo aviso até o lançamento do React 16 para que você possa atualizar seu código gradualmente.</p>\n<ul>\n<li><code class=\"gatsby-code-text\">LinkedStateMixin</code> e <code class=\"gatsby-code-text\">valueLink</code> são agora obsoletos devido à popularidade muito baixa. Se você precisa disso, você pode usar um componente wrapper que implementa o mesmo comportamento: <a href=\"https://www.npmjs.com/package/react-linked-input\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">react-linked-input</a>.</li>\n</ul>\n<h3 id=\"new-helpful-warnings\"><a href=\"#new-helpful-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 úteis </h3>\n<ul>\n<li>Se você usar uma cópia minificada da compilação <em>development</em>, o React DOM gentilmente irá encorajar você a usar o build de produção mais rápido.</li>\n<li>React DOM: Ao especificar um valor CSS sem unidade como string, uma versão futura não adicionará <code class=\"gatsby-code-text\">px</code> automaticamente. Esta versão agora adverte neste caso (exemplo: escrever <code class=\"gatsby-code-text\">style={{width: &#39;300&#39;}}</code>. (Valores unitários <em>number</em> como <code class=\"gatsby-code-text\">width: 300</code> serão inalterados.)</li>\n<li>Eventos sintéticos agora avisarão ao definir e acessar propriedades (que não serão liberadas adequadamente), bem como alertar sobre o acesso após um evento ter sido retornado ao pool.</li>\n<li>Elementos agora irão alertar ao tentar ler <code class=\"gatsby-code-text\">ref</code> e <code class=\"gatsby-code-text\">key</code> das props.</li>\n<li>React DOM agora tenta alertar para manipuladores de eventos mal digitados em elementos do DOM (ex: <code class=\"gatsby-code-text\">onclick</code> que deve ser <code class=\"gatsby-code-text\">onClick</code>)</li>\n</ul>\n<h3 id=\"notable-bug-fixes\"><a href=\"#notable-bug-fixes\" 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 notáveis de bugs </h3>\n<ul>\n<li>Ajustado múltiplos pequenos vazamentos de memória</li>\n<li>Os eventos de entrada são tratados de forma mais confiável no IE 10 e IE 11; eventos espúrios não são mais disparados quando usam um placeholder.</li>\n<li>React DOM agora suporta os atributos HTML <code class=\"gatsby-code-text\">cite</code> e <code class=\"gatsby-code-text\">profile</code>.</li>\n<li>React DOM agora suporta os eventos <code class=\"gatsby-code-text\">onAnimationStart</code>, <code class=\"gatsby-code-text\">onAnimationEnd</code>, <code class=\"gatsby-code-text\">onAnimationIteration</code>, <code class=\"gatsby-code-text\">onTransitionEnd</code> e <code class=\"gatsby-code-text\">onInvalid</code>. O suporte para <code class=\"gatsby-code-text\">onLoad</code> foi adicionado aos elementos <code class=\"gatsby-code-text\">object</code>.</li>\n<li><code class=\"gatsby-code-text\">Object.is</code> é usado em vários lugares para comparar valores, o que leva a menos falsos positivos, especialmente envolvendo <code class=\"gatsby-code-text\">NaN</code>. Em particular, isso afeta o add-on <code class=\"gatsby-code-text\">shallowCompare</code>.</li>\n<li>React DOM agora faz uso padrão de atributos do DOM em vez de propriedades, o que corrige alguns bugs. Além disso, a anulação dos valores (exemplo: <code class=\"gatsby-code-text\">href={null}</code>) resultará agora na remoção contundente, não tentando mais definir o valor padrão utilizado pelos navegadores na ausência de um valor.</li>\n</ul>","excerpt":"Desculpe pelo pequeno atraso em liberar esta release. Como dissemos, estivemos ocupados assistindo House of Cards. Essa cena do último episódio onde Francis e Claire Underwood ████████████████████████████████████. WOW! Mas agora estamos prontos, então sem mais delongas, estamos disponibilizando agora uma release canditate para o React v15. Como lembrete, estamos mudando para versões principais para indicar que estamos utilizando o React em produção há bastante tempo. Esta release 15.0 segue a…","frontmatter":{"title":"React v15.0 Release Candidate","next":null,"prev":null,"author":[{"frontmatter":{"name":"Paul O’Shannessy","url":"https://twitter.com/zpao"}}]},"fields":{"date":"07 de março de 2016","path":"content/blog/2016-03-07-react-v15-rc1.md","slug":"/blog/2016/03/07/react-v15-rc1.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/03/07/react-v15-rc1.html"}},"staticQueryHashes":[]}