I realize this library is not maintained and mostly abandoned. So I am mostly posting this as a guide to help out anyone else who may be encountering the same issues and cannot easily migrate away from this library. I am utilizing the Expo ecosystem so things may be different for you if not utilizing that.
I am using react-native-dropdown-picker@5.4.7-beta.1 because of the issues outlined in #647 . This introduced react-native-gesture-handler as a dependency, we also had this as a direct dependency already. This was working fine as of Expo SDK 49. We recently had to upgrade Expo to SDK 51, and started encountering the following issue on upgrade to SDK 50, on both development builds and running via Expo Go.
Tried to register two views with the same name RNGestureHandlerButton
We were able to resolve this on development builds and Expo Go by removing our app's direct dependency on react-native-gesture-handler. However, upon executing a full build we encountered the following:
Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGestureHandlerModule' could not be found. Verify that a module by this name is registered in the native binary.
This very well may be an Expo issue, of it not properly building with library dependencies. However, the solution for us was to create a yarn patch for react-native-dropdown-picker to move react-native-gesture-handler to a peer dependency rather than a hard dependency. This allowed us to directly include react-native-gesture-handler as a dependency and run on development builds, Expo Go, and build full builds.
TL;DR:
yarn patch react-native-dropdown-picker
package.json
- "dependencies": {
- "react-native-gesture-handler": "*"
- },
"peerDependencies": {
+ "react-native-gesture-handler": "*",
"react": "*",
"react-native": "*"
},
I realize this library is not maintained and mostly abandoned. So I am mostly posting this as a guide to help out anyone else who may be encountering the same issues and cannot easily migrate away from this library. I am utilizing the Expo ecosystem so things may be different for you if not utilizing that.
I am using
react-native-dropdown-picker@5.4.7-beta.1because of the issues outlined in #647 . This introducedreact-native-gesture-handleras a dependency, we also had this as a direct dependency already. This was working fine as of Expo SDK 49. We recently had to upgrade Expo to SDK 51, and started encountering the following issue on upgrade to SDK 50, on both development builds and running via Expo Go.We were able to resolve this on development builds and Expo Go by removing our app's direct dependency on
react-native-gesture-handler. However, upon executing a full build we encountered the following:This very well may be an Expo issue, of it not properly building with library dependencies. However, the solution for us was to create a yarn patch for
react-native-dropdown-pickerto movereact-native-gesture-handlerto a peer dependency rather than a hard dependency. This allowed us to directly includereact-native-gesture-handleras a dependency and run on development builds, Expo Go, and build full builds.TL;DR:
yarn patch react-native-dropdown-pickerpackage.json