Skip to content
Tech AI Wire

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.

Por Tech AI Wire Team

3 min de leitura

XLinkedIn
The React 19.3 release post on react.dev, open at the View Transitions section.

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çaO que faz
Transitions independentesAs 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-domRetorna "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 TypesPermite 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

  1. React 19.3 - React
  2. Release 19.3.0 - GitHub
  3. This Week In React #296 - This Week In React

Artigos relacionados

An ink line-art square photograph of a mountain lake, its lower third still a coarse grid of pixels with one block filled red.
Dev Stack

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.