-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
feat: support React 19.2 #3606
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support React 19.2 #3606
Conversation
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit 9f25968:
|
| "expo-gl": ">=11.0", | ||
| "react": "^19.0.0", | ||
| "react-dom": "^19.0.0", | ||
| "react": ">=19 <19.3", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldnt this pin us to not support React versions besides 19.2.x?
I thought the intent was to let us support 19.2+ without having to keep in lockstep with react majors.
Or do you feel bumping react would be a minor change after we include the reconciler ourselves?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This specifies the range 19.0.0-19.2.x since we can only guarantee backwards compatibility but not forwards compatibility. And yes, we would need to update the reconciler and ship a minor since any new React APIs would not be implemented in the reconciler dispatcher and error (such as calling useEffectEvent now). An upstream solution is highly motivated by this restriction, as we do not know if this will continue to hold for a possible 19.3.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gotcha.
So your intent is to support people BELOW the current React version.
this means though we have to stay super up to date at all times because the second a new React version comes out and people update we would trigger build warnings and probable CI rejections and all users would be waiting on us to support React 19.x. Regardless if there is new or breaking features.
|
It all looks good. |
Updates the reconciler to support React 19.2, including
<Activity />anduseEffectEvent().Because
react-reconcileris published in lockstep with the React package, it is not seen as forwards compatible since React 19 and supports 19.2+.We bundle
react-reconcilerfor the moment since we are sure these features are forward compatible and do not present a breaking change. React packages inline the reconciler as well, but we have to ship both the development and production bundles.