fix: update nativeInterface default export to support bridgeless mode #717
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
When trying to use
react-native-netinfo
with the new architecture and bridgeless mode on (react-native version 0.74.0-nightly-20240123-cbd818dad), the user is faced with an unhandled promise rejectionThis error happens because of the following code inside nativeInterface.ts
react-native-netinfo/src/internal/nativeInterface.ts
Lines 31 to 38 in 94c5398
Currently we cannot use the spread operator directly on the object returned from React Native's NativeModules, given that the module object is a host object. So to fix that we should use
Object.assign
instead or directly useNativeModules.RNCNetInfo
After this change everything works as expected and the compatibility layer allows
react-native-netinfo
to be used with bridgeless mode onTest Plan
Tested running on Android and iOS with: