【发布时间】:2020-08-04 00:10:56
【问题描述】:
在我的导航文件中,当我想要切换抽屉时,出现以下错误:
TypeError:navigation.openDrawer 不是函数。(在 'navigation.openDrawer()', 'navigation.openDrawer' 未定义)
这是我的抽屉:
const DrawerNavigator = () => {
return (
<Drawer.Navigator
initialRouteName="MYSHIFT"
>
<Drawer.Screen name="MYSHIFT" component={TopTabNavigator} />
</Drawer.Navigator>
)
}
这是我的容器导航:
const CareworkerNavigation = () => {
return (
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen
name="Login"
component={LoginScreen}
options={{ headerShown: false }} />
<Stack.Screen
name="Main"
options={({ navigation }) => {
return {
headerLeft: () => <Button title="LEFT BUTTON" onPress={() => {
navigation.toggleDrawer(); // <--- this line throws an error
}} />
}
}}
component={DrawerNavigator} />
</Stack.Navigator>
</NavigationContainer>
)
}
export default CareworkerNavigation
为什么我不能在导航选项中使用 navigation.toggleDrawer()? 有可能消除这个问题吗?
【问题讨论】:
-
导航是一个对象。你能试着把它包装成这样 ({navigation})=>{} 吗?
-
输入错误。但我得到同样的错误
标签: react-native react-navigation react-navigation-stack react-navigation-drawer react-navigation-v5