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.

R. Okafor10 min read

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

  1. Update to react and react-dom ^19.0.0, next ^15.x
  2. Run: npx react-codemod@latest update-ref-usage
  3. Replace forwardRef with direct ref props
  4. Try useActionState on your next form
  5. Skip advanced APIs until you need them

React 19 is not a rewrite. It is a collection of pointed ergonomic improvements.

Related briefs