react-native - 反应导航抽屉不会保持打开状态
问题描述
当我尝试将其滑动打开时,它会立即向后摆动。
我将堆栈与抽屉一起使用也许这可能是一个问题,但到目前为止 我已经尝试了一切,审查了所有类似的问题,但没有任何效果
我的代码:
const Drawer = createDrawerNavigator();
function DrawerNav({ navigation }) {
// toggleDrawer = () => {
// this.props.navigation.dispatch(DrawerActions.toggleDrawer())
// }
return (
<Drawer.Navigator initialRouteName="Home"
screenOptions={{
headerShown: true,
headerStyle: {
backgroundColor: brand,
},
headerTintColor: primary,
headerTransparent: false,
headerTitle: '',
headerLeftContainerStyle: {
paddingLeft: 20,
},
}}>
<Drawer.Screen name="Home" component={HomeScreen} options={horizontalAnimation}/>
</Drawer.Navigator>
);
}
const Stack = createStackNavigator();
const RootStack = () => {
return (
<CredentialsContext.Consumer>
{({ storedCredentials }) => (
<NavigationContainer>
<Stack.Navigator
screenOptions={{
headerStyle: {
backgroundColor: brand,
},
headerTintColor: primary,
headerTransparent: true,
headerTitle: '',
headerLeftContainerStyle: {
paddingLeft: 20,
},
}}
>
{storedCredentials ? (
<Stack.Screen name="Home" component={DrawerNav} options={horizontalAnimation}/>
) : (
<>
<Stack.Screen name="Login" component={Login} options={horizontalAnimation}/>
<Stack.Screen name="Signup" component={Signup} options={horizontalAnimation}/>
</>
)}
</Stack.Navigator>
</NavigationContainer>
)}
</CredentialsContext.Consumer>
);
};
任何帮助将不胜感激,在此先感谢。
解决方案
我遇到过同样的问题。我发现我的一些 react-navigation 库不在同一个主要版本上(在 package.json 中)。因此,我将它们全部更改为相同的主要版本号,在我的情况下为 6.X,重新安装了软件包,我的代码开始工作。
- "@react-navigation/bottom-tabs": "^6.0.1",
- "@react-navigation/native": "^5.9.4",
- "@react-navigation/stack": "^5.14.5",
+ "@react-navigation/drawer": "^6.1.4",
+ "@react-navigation/native": "^6.0.4",
+ "@react-navigation/stack": "^6.0.9",
推荐阅读
- python-3.x - Discord 机器人掷骰错误。为什么我的代码没有达到预期的结果?
- bash - Bash 脚本中的随机字符串
- spring-boot - 在 FUSE EAP 环境中使用 Springboot 自动配置连接到 SQL-Server 的问题
- python - Python while / if循环忽略条件
- python - 如何在 Python 中的日志文件中写入标题
- datatables - 数据表状态保存刷新在关闭对话框后继续 POST 请求
- reactjs - 收到来自 axios 请求的承诺时,状态未更新操作
- c# - 在 Visual Studio 中运行 Docker Compose 时引发异常
- javascript - 有没有办法使用三元的条件作为值?
- android - 从以前的活动中检索字符串