Upgrade to React 18

Proprietary

Migrate deprecated APIs for React 18 compatibility. Includes all React 16 and 17 migrations plus the createRoot API migration, removal of unstable_batchedUpdates, unmountComponentAtNode replacement, and render callback removal.

org.openrewrite.react.migrate.upgrade-to-react-18

Optional

Upgrade React dependency versions as well as APIs. Set to false when composing this migration into a later React upgrade.

mod run . --recipe=org.openrewrite.react.migrate.upgrade-to-react-18

Install it once, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.

Recipe list

It runs these recipes, in this order.

  1. Upgrade to React 17
  2. Replace ReactDOM.render with createRoot
  3. Remove unstable_batchedUpdates
  4. Replace unmountComponentAtNode with createRoot().unmount()
  5. Remove ReactDOM.render callback argument
  6. org.openrewrite.javascript.UpgradeDependencyVersion
  7. org.openrewrite.javascript.UpgradeDependencyVersion
  8. org.openrewrite.javascript.UpgradeDependencyVersion
  9. org.openrewrite.javascript.UpgradeDependencyVersion