Nova versão do React (19 RC)
Nova versão do React vem por aí e quero trazer um resumo para vocês de todas as novas mudanças:
-
Server Actions Ações do servidor são funções assíncronas executadas no servidor. Eles podem ser usados em componentes de servidor e cliente para lidar com envios de formulários e mutações de dados. O que já era uma realidade no Next.js mas agora vem com suporte nativo no React
-
useTransition
Este hook servirá para fazer requisições assíncronas, do qual ele irá receber umboolean
que indicará se a função está executando e umafunction
que, quando disparada, irá iniciar a a transition mudando o estado doboolean
. -
useActionState
Este novo hook aceita uma função e retorna uma ação agrupada para chamada. Quando a Ação encapsulada for chamada,useActionState
retornará o último resultado daaction
e o estado pendente da action comopending
. -
Form actions Agora será possível passar um atributo action na própria
tag
form, disparando as server functions. Assim como um novohook
chamadouseFormStatus
que lê o estado do<form>
pai como se ele fosse umprovider
. -
Nova API
use
Uma nova função que poderemos utilizar para consumir contextos e Promises. Automaticamente o React irá dar umsuspense
no componente, sem a necessidade de utilizar async/await (Para mim é a implementação mais sensacional, adeususeEffect
👋🏽 ). -
ref
como propriedade Agora asrefs
virão como props do componente, mais ou menos como funciona o children. Finalmente não mais utilizaremos ouseRef
(que ninguém usava mesmo). -
Context como provider Agora o
context
servirá como próprioprovider
, logo agora não precisará mais criar um contexto e umprovider
, os dois serão um só.
Claro que este é apenas um resumo, para ver mais você pode acessar a documentação oficial do React que deixei na fonte.
Mas me diz aí, você está animado para as novas mudanças?
Estou gostando que o time do React está melhorando a experiência dos devs, foi uma maravilha quando vi esse update do ref que é muito trabalhoso fazer, tendo que usar useRef e forwardRef.
A nova API do use também vai ser uma mão na roda, useEffect é um hook bastante delicado, muito fácil cair no erro com ele.
Estou animado com essas alterações, muito bom também ver outros frameworks além do Next implementando Server Actions :p