React v19 - Actions, Server Components, melhorias nos erros de hydration, suporte a Document Metadata e mais
(react.dev)Novas APIs e recursos
- Actions: processam automaticamente alterações de dados e atualizações de estado. Gerenciam automaticamente estado de espera, erros, optimistic updates etc.
useActionState: novo hook que simplifica casos de uso comuns de ActionsuseAPI: permite ler promises e contexto durante a renderizaçãouseOptimistic: facilita a implementação de atualizações otimistas de UI durante requisições assíncronasrefas a prop: permite usar a prop ref diretamente em componentes de função (forwardRefdesnecessário)<Context>as a Provider: permite usar<Context>diretamente no lugar de<Context.Provider>
Gerenciamento de documento e recursos
- suporte a metadados: permite usar tags
<title>,<link>e<meta>diretamente nos componentes - suporte a folhas de estilo: carregamento de stylesheets e gerenciamento de prioridade dentro dos componentes
- suporte a scripts assíncronos: permite renderizar scripts assíncronos em qualquer ponto da árvore de componentes
- pré-carregamento de recursos: fornece as APIs
prefetchDNS,preconnect,preloadepreinitpara otimização de desempenho
Melhorias
- suporte a custom elements: adicionado suporte completo a custom elements
- melhorias no tratamento de erros: remoção de erros duplicados e adição de opções de tratamento de erros
- compatibilidade com scripts/extensões de terceiros: melhoria no tratamento de conteúdo de terceiros durante o processo de hydration
- melhorias nos erros de hydration: mensagens de erro mais claras e informações de depuração mais detalhadas
Server Components
- Server Components estabilizados: todos os recursos de Server Components do canal Canary foram incluídos no React 19
- Server Actions: fornece a capacidade de chamar funções do servidor a partir de componentes cliente
Outros
- valor inicial de
useDeferredValue: adicionada uma opção de valor inicial aouseDeferredValue - função de cleanup de ref: callbacks de ref agora podem retornar uma função de cleanup
- nova Static API: adicionadas as APIs
prerendereprerenderToNodeStream
1 comentários
Nesta versão 19, o funcionamento controverso do
<Suspense>foi redefinido. Até então, quando um componente era colocado em Suspense, o React renderizava até o próximo componente Suspense e só então gerava o fallback; agora, ao colocar um componente em Suspense, ele primeiro gera o fallback e depois renderiza o próximo componente Suspense.Melhorias no Suspense
Em resumo, dá para dizer que o tempo da renderização inicial foi reduzido. Ainda bem que isso foi resolvido.