【发布时间】:2019-01-20 13:36:17
【问题描述】:
当我将 react-native-firebase 与 react-navigation(以及 react-native-gesture-handler)一起使用时,我遇到了以下错误
undefined 不是对象(评估 'RNGestureHandlerModule.State')
我跟着https://rnfirebase.io/docs/v5.x.x/installation/ios的指导
下面是错误界面的调用栈。
<unknown>
GestureHandler.js: 54:37
<unknown>
Swipeable.js: 11
<unknown>
index.js:1
<unknown>
StackViewLayout.js:19
<unknown>
StackView.js:4
<unknown>
createStackNavigator.js:3
这是我的 package.json
"dependencies": {
"axios": "^0.18.0",
"react": "16.6.3",
"react-native": "0.57.8",
"react-native-dialog": "^5.5.0",
"react-native-firebase": "^5.2.0",
"react-native-gesture-handler": "^1.0.12",
"react-native-safari-view": "^2.1.0",
"react-native-vector-icons": "^6.1.0",
"react-navigation": "^3.0.9",
"react-redux": "^6.0.0",
"redux": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-promise-middleware": "^5.1.1",
"redux-thunk": "^2.3.0" }
这是我使用 react-navigation 的源代码
const AppStack = createBottomTabNavigator({
Main: {
screen: Main
},
Setting: {
screen: Setting
}
})
const AuthStack = createStackNavigator({
Login: {
screen: Login
},
Join: {
screen: Join
},
JoinDetails: {
screen : JoinDetails
}
})
const AppContainer = createAppContainer(createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
App: AppStack,
Auth: AuthStack
},
{
initialRouteName: 'AuthLoading',
}))
我在项目根目录下执行了以下命令
react-native 链接 react-native-gesture-handler
如果我在javascript源代码中注释createStackNavigator,错误就消失了。
有人能帮帮我吗?几天来我一直在努力解决这个问题。
【问题讨论】:
-
您好,您的描述令人困惑。在您谈论 rn-firebase 的标题中,在描述中您列出的错误是关于 RNGestureHandlerModule。那么是firebase udnefined 还是RNGestureHandlerModule?你在 authStack 中做什么?
-
@DanielDimitrov 抱歉,我更改了标题,并添加了错误屏幕的调用堆栈,并且在 authStack 中有关于身份验证的组件
-
您是否尝试取消链接并卸载 react-native-gesture-handler 和 react-navigation?
-
@sdkcy 当然,我一次又一次地安装和链接它们,很多次。
-
我看不出这与 rn-firebase 有什么关系。这里的信息太少,无法有效帮助您,但您的问题似乎与此类似:github.com/kmagiera/react-native-gesture-handler/issues/205Are you using cocoa Pods?如果是,那么在链接后你必须进入 ios 文件夹并运行
pod install
标签: react-native react-navigation react-native-firebase