React 19, a versão mais recente da biblioteca JavaScript da Meta para renderização de interfaces de usuário, já está disponível em beta. A atualização introduz recursos como funções assíncronas em transições e a capacidade de acessar ref
como um suporte para componentes de função.
O React 19 beta foi lançado em 25 de abril. Um guia de atualização do React 19 beta foi publicado.
O React 19 adiciona suporte para o uso de funções assíncronas em transições para lidar automaticamente com estados pendentes, formulários, erros e atualizações otimistas. Funções que usam transições assíncronas são chamadas de Ações. Ao construir sobre Actions, o React 19 apresenta useOptimistic
para gerenciar atualizações otimistas e um novo gancho, React.useActionState
, para lidar com casos comuns de ações. As ações também são integradas com novos <form>
recursos para react-dom
na reação 19.
O React 19 inclui todos os recursos do React Server Components do canal Canary, o que significa que as bibliotecas fornecidas com os Server Components agora podem direcionar o React 19 como uma dependência de peer com react-server
condição de exportação para uso em estruturas que suportam a arquitetura Full-stack React.
Outras melhorias no React 19:
- Uma nova API para ler recursos em renderização, chamada
use
é introduzido. - O relatório de erros foi aprimorado para erros de hidratação em
react-dom
. - Melhor suporte é oferecido por scripts assíncronos; eles podem ser renderizados em qualquer lugar da árvore de componentes.
- APIs são oferecidas para carregar e pré-carregar recursos do navegador para construir experiências que não sejam mantidas por carregamento ineficiente de recursos.
- A hidratação foi aprimorada para levar em conta scripts de terceiros e extensões de navegador.
- O tratamento de erros foi aprimorado para remover duplicações e fornecer opções para lidar com erros detectados e não detectados.
- Está sendo adicionado suporte para renderização nativa de tags de metadados de documentos em componentes.
<Context>
pode ser renderizado como um provedor em vez de<Context.Provider>
.- Funções de limpeza podem ser retornadas de
ref
retornos de chamada. - Um
initialValue
opção foi adicionada auseDeferredValue
.