React 19.2 is now available on npm!
This is our third release in the last year, following React 19 in December and React 19.1 in June. In this post, we’ll give an overview of the new features in React 19.2, and highlight some notable changes.
New features include <Activity />
and useEffectEvent
which has been in development for a while now.
Effect Events
Event callbacks now can be split outside of effects. This means event callback dependencies do not need to be in effect dependencies.
function ChatRoom({ roomId, theme }) {
const onConnected = useEffectEvent(() => {
showNotification('Connected!', theme); // theme is no longer an event dependency
});
useEffect(() => {
const connection = createConnection(serverUrl, roomId);
connection.on('connected', () => {
onConnected();
});
connection.connect();
return () => connection.disconnect();
}, [roomId]); // ✅ All dependencies declared (Effect Events aren't dependencies)
Now you can avoid re-running effects for changes to variables which only affect a callback.
This requires upgrading to [email protected]
to permit effect events to be excluded from effect dependencies.
Batched Suspense Boundaries for SSR
We fixed a behavioral bug where Suspense boundaries would reveal differently depending on if they were rendered on the client or when streaming from server-side rendering.
Starting in 19.2, React will batch reveals of server-rendered Suspense boundaries for a short time, to allow more content to be revealed together and align with the client-rendered behavior.


This fix also prepares apps for supporting
<ViewTransition>
for Suspense during SSR. By revealing more content together, animations can run in larger batches of content, and avoid chaining animations of content that stream in close together.
If total page load time approaches 2.5 seconds, React stops batching and reveals content immediately to help fulfill good LCP core web vitals for SEO.
SSR: Web Streams support for Node
renderToReadableStream
is now available for Node.js. While React does not recommend using it due to performance concerns, I’m interested to see the performance delta inside projects which already mostly use Web Streams like Hono.
Leave a Reply