React 19.3 chega com View Transitions e Fragment Refs
O React 19.3 foi lançado em 9 de setembro de 2026. View Transitions e Fragment Refs agora são estáveis, e a versão não traz mudanças que quebrem compatibilidade.
3 min de leitura

Em números
- pull requests behind the View Transitions work
- 47
- pull requests behind Fragment Refs
- 26
- contributors to the release
- 52
O React 19.3 está disponível. O time do React publicou a versão em 9 de setembro de 2026, promovendo a estáveis dois recursos que passaram muito tempo como experimentais: View Transitions e Fragment Refs. As notas de lançamento no GitHub creditam 52 contribuidores, com 47 pull requests só por trás de View Transitions e 26 por trás de Fragment Refs.
Não há mudanças que quebrem compatibilidade. Cada recurso aqui é algo que você escolhe ativar.
View Transitions, e quando elas realmente disparam
O novo componente <ViewTransition> anima elementos quando eles entram, saem, se movem ou mudam de tamanho. Ele faz isso pela View Transition API do navegador, em vez de animar em JavaScript.
A regra que pega as pessoas é quais atualizações são animadas. A documentação do React é explícita: "Atualizações não marcadas como Transitions não disparam animações, pois elas devem ser urgentes e refletidas imediatamente na interface." Três coisas provocam uma animação. Uma atualização de estado dentro de startTransition, um conteúdo revelado pelo Suspense ou uma atualização vinda de useDeferredValue.
Então envolver um componente em <ViewTransition> e depois chamar setState normalmente não produz animação nenhuma. Esse é o comportamento pretendido, não um bug, e é a primeira coisa a verificar quando nada se move.
A This Week In React aponta uma API complementar, addTransitionType, que permite "personalizar a animação diretamente a partir do código que a dispara". Isso importa porque o mesmo componente muitas vezes precisa animar de forma diferente dependendo do que causou a mudança.
Um limite de plataforma é declarado sem rodeios pelo time do React: "Atualmente, <ViewTransition> só funciona no DOM. Estamos trabalhando no suporte a React Native e outras plataformas."
Fragment Refs eliminam a div envolvente
Fragment Refs permitem anexar uma ref a um <Fragment> e operar sobre o grupo de nós DOM dentro dele como uma unidade.
O problema que isso resolve é familiar. Quando você precisa de um ponto de acesso a vários elementos irmãos, normalmente adiciona uma <div> envolvente para pendurar a ref. Esse envoltório então interfere no estilo e no layout ao redor. Filhos de grid e flex são as vítimas habituais.
As notas de lançamento no GitHub descrevem a mudança como a adição de "Refs em <Fragment /> para dar suporte a comportamento de plataforma componível". A This Week In React apresenta o ganho como destravar "novos padrões de composição que antes eram difíceis". Os usos práticos são a escuta de eventos em um grupo e o gerenciamento de foco.
As mudanças menores
| Mudança | O que faz |
|---|---|
| Transitions independentes | As Transitions "são renderizadas de forma independente em vez de ficarem emaranhadas em uma única renderização, então uma transição lenta não segura mais as que não têm relação" |
browser() do react-dom | Retorna "um usable que gera erro durante a renderização no servidor e resolve no navegador", tirando uma subárvore da renderização no servidor ao disparar o Suspense |
| Suporte a Trusted Types | Permite que o React coopere com uma Content-Security-Policy que exija trusted types, para impedir XSS baseado em DOM |
| Context em Server Components | <Context> pode ser renderizado diretamente de um módulo 'use client', sem um componente provider envolvente separado |
use(browser()) segue as regras normais de use. A documentação do React diz que ele "pode ser chamado dentro de uma instrução condicional ou depois de um return antecipado", o que é incomum e deliberado.
O que isso significa para os desenvolvedores
Atualize pelos méritos da versão em si, não pelas animações. Sem mudanças que quebrem compatibilidade, a 19.3 é um salto de versão rotineiro, e os dois recursos de destaque são aditivos.
Se você for adotar View Transitions, reserve tempo para a regra das Transitions, não para o CSS. A maior parte da confusão na adoção inicial virá de atualizações que, em silêncio, não animam porque nunca foram marcadas como Transitions. Verifique onde suas atualizações de estado realmente vivem antes de envolver qualquer coisa.
Confira também suas premissas sobre suporte de navegadores. Isso se apoia em uma API do navegador, não em uma implementação exclusiva do React, então o seu piso é o que os navegadores dos seus usuários trazem. Esse piso está se movendo mais rápido do que antes, agora que o Chrome passou a um ciclo de lançamentos de duas semanas, mas ele ainda descarta a animação como garantia. Trate-a como um aprimoramento que degrada para nenhuma animação.
Fragment Refs são a mudança com mais chance de compensar em silêncio. Se a sua base de código carrega <div> envolventes que existem só para segurar uma ref, cada uma delas é candidata à remoção. Removê-las também limpa gambiarras de layout que nunca tiveram a ver com layout.
Times de React Native não ganham nada com o recurso de destaque desta versão. View Transitions hoje funciona só no DOM, e o time do React se comprometeu com outras plataformas sem dar uma data.
Fontes
- React 19.3 - React
- Release 19.3.0 - GitHub
- This Week In React #296 - This Week In React
Artigos relacionados

Crítica ao JPEG XL: AVIF já comprime melhor
Uma nova medição coloca o AVIF à frente do JPEG XL em toda a faixa de qualidade e cronometra 17,43 segundos para decodificar um arquivo JPEG XL de 1.918 bytes.

TryNix corre qualquer pacote Nix num separador do browser
O TryNix arranca um núcleo Linux compilado para WebAssembly e corre qualquer uma das 310 083 versões do nixpkgs num separador. O python3 leva 7,5 segundos na primeira visita.

Rustls 0.23.45 corrige falha de TLS 1.3 aberta desde 2024
As versões 0.23.13 a 0.23.44 aceitavam mensagens de aperto de mão TLS 1.3 no nível de criptografia errado, um bug introduzido em setembro de 2024.