A versão v16.9.0 do React chegou com algumas novidades, novas funcionalidades, correções de bugs e com mensagens de deprecation que visam o update futuro.

É importante acompanhar o que está planejado para sair do core da biblioteca. Algumas mudanças impactam diretamente no fluxo das aplicações, sendo a mais importante delas o lifecycle. Cerca de um ano atrás o time do React anunciou que mudaria completamente a API e o funcionamento dos métodos de lifecycle. São eles: componentWillMount,componentWillReceiveProps ecomponentWillUpdate.

Estes métodos ficaram disponíveis até agora e ainda continurão por um tempo, porém, nesta nova versão 16.9.0 o React começará a emitir alertas de deprecation.

Deprecation warnings no React 16.9.0

O legal é que temos a possibilidade de usar uma ferramenta que ajuda neste processo de atualização, o codemod. Com o codemod podemos automaticamente renomear todos os métodos em nossas aplicações, de maneira que não teremos warnings.

Para executar o codemod:

npx react-codemod rename-unsafe-lifecycles

Este processo altera os métodos de lifecycle:

  • componentWillMountUNSAFE_componentWillMount
  • componentWillReceivePropsUNSAFE_componentWillReceiveProps
  • componentWillUpdateUNSAFE_componentWillUpdate

Note que os métodos possuem o prefixo `UNSAFE`, justamente para incentivar a migração, mas claro, nem sempre é possível atualizar um codebase inteiro, então fica por sua conta 😀

De novas funcionalidades temos o Async act() que permite utilizar o act com funções assíncronas. A nova versão também introduz o <React.Profiler> programático. Na prática, agora podemos usar de forma mais customizada o profiler dentro de nossas aplicações e não somente nas dev tools.

  <Profiler id="app" onRender={onRenderCallback}>
    <App>
      <Main {...props} />
    </App>
  </Profiler>

Além de correção de vários bugs, o roadmap do projeto também foi atualizado. Podemos esperar um release ao invés de 2 como era esperado antes, teremos update na parte de Data Fetching e Server Rendering.

Para mais detalhes sobre a atualização, veja o post no site oficial: https://reactjs.org/blog/2019/08/08/react-v16.9.0.html

Autor(a)

Jaydson Gomes
86  Posts
Jaydson Gomes trabalha com tecnologia desde o início dos anos 2000 e é​ desenvolvedor de software especializado em JavaScript.
​É sócio fundador da Nasc e da ​BrazilJS e curador/idealizador da ​BrazilJS Conf, uma das maiores conferências do mundo sobre a linguagem JavaScript.
É editor da Newsletter BrazilJS Weekly e host do show BrazilJS Weekly no YouTube.
Jaydson também é autor e editor no portal BrazilJS e escreve em seu blog pessoal.
É um entusiasta open source e tem apresentado diversas palestras ao longo dos últimos anos, em sua grande maioria falando sobre JavaScript e tecnologias Web.