Tried to register two views with the same name RNGestureHandlerButton
I try to create navigation with { createStackNavigator, createAppContainer } from 'react-navigation' but when a start my application i always receive error
I try a lot of thing and i don't find any documentation/help on this
This is my package.json
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"eject": "expo eject"
},
"dependencies": {
"expo": "^32.0.0",
"react": "16.5.0",
"react-native": "github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
"react-native-gesture-handler": "^1.0.15",
"react-navigation": "^3.0.9"
},
"devDependencies": {
"babel-preset-expo": "^5.0.0"
},
"private": true
}
Solution 1:
Note this answer was written for Expo v33. Please check with the current documentation for react-navigation and the version of Expo that you are using for up-to-date installation instructions.
The reason for your error is that you are using react-navigation
in your Expo app, however you have followed the tutorial incorrectly.
https://reactnavigation.org/docs/en/getting-started.html
If you read the instructions it tells you that once you have installed react-navigation
you should then install react-native-gesture-handler
. However that is not what they say
Next, install react-native-gesture-handler. If you’re using Expo you don’t need to do anything here, it’s included in the SDK.
It says that if you are using Expo
you do not need to install react-native-gesture-handler
as it is already installed.
You are getting errors because you have installed react-native-gesture-handler
, it already exists in Expo, and Expo is getting confused about where to get its information from.
To solve your problem do the following.
- Close all terminals running
Expo
- Close the browser window running
Expo
- Clear the project you were working on from the
Expo
app on your device. - Delete your
package-lock.json
- Delete your
node_modules
folder - Remove the
react-native-gesture-handler
entry from yourpackage.json
- Run
npm i
- Restart
Expo
usingexpo start -c
Be careful when using Expo
it is easy to install dependencies that cannot run with it, and cause yourself issues like this.
Solution 2:
For anyone else who gets here searching for:
"Unable to resolve "react-native-gesture-handler" from "node_modules@react-navigation\native\src\Scrollables.js""
I found the answer here:
https://github.com/expo/expo/issues/5107
If you're using Expo SDK 34+, despite what older threads says, you need to run the following to get it working:expo install react-native-gesture-handler