Web Development
React 19 is Live: What Actually Changed for Your Next.js App
React 19 ships with Actions, the use() hook, and a new ref protocol but most migration guides bury the real behavioral changes under hype. Here is what actually breaks, what gets simpler, and what to leave alone.

The use() hook: the one new primitive worth learning
React 19 introduces use(), a hook that reads from a promise or a context directly inside render with no useEffect.
The Actions API: form handling without the ceremony
The new <form action={}> protocol eliminates boilerplate. useActionState handles loading and form reset.
The ref change that actually breaks things
In React 18, ref was not a prop. Now it is, and forwardRef is deprecated. Migrate at your own pace.
What to skip for now
useOptimistic, Context as a provider, asset loading APIs are purely additive.
Migration checklist
- Update to react and react-dom ^19.0.0, next ^15.x
- Run: npx react-codemod@latest update-ref-usage
- Replace forwardRef with direct ref props
- Try useActionState on your next form
- Skip advanced APIs until you need them
React 19 is not a rewrite. It is a collection of pointed ergonomic improvements.