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 a useDeferredValue.