android - 如何在抽屉导航器中定义的屏幕中打开抽屉导航器
问题描述
是否可以从我不希望它出现在我的抽屉导航器中的屏幕上打开抽屉导航器
const AppDrawerNavigator = createDrawerNavigator({
Home:{
screen:MainStackNavigator,//stack with tab
},
Pdf:{
screen:AnotherScreen
}
},
{
drawerPosition: 'left',
drawerWidth:Dimensions.get('window').width-50,
})
这是我的堆栈导航器
const AppStackNavigator = createStackNavigator({
Main:{screen:AppDrawerNavigator,navigationOptions: {
header: null,
}},
Login:{screen:LoginScreen},
Map:{screen:MapScreen,navigationOptions:({navigation})=>({
headerLeft:null,
headerTransparent:true,
headerRight:
<TouchableOpacity
onPress={()=>navigation.toggleDrawer()}>
<IconMenu name='menu' size={25} style={{marginRight:20}} />
</TouchableOpacity>})},
})
我希望 MapScreen 打开我上面定义的抽屉(它不工作,它说导航未定义。toggleDrawer() 不是一个功能,当我点击我的 IconMenu 时)
谢谢你
解决方案
使用它来打开或关闭抽屉
this.props.navigation.dispatch(DrawerActions.toggleDrawer());
在您的代码中,您可以使用
navigation.dispatch(DrawerActions.toggleDrawer());
推荐阅读
- php - 我在 laravel 中的删除查询应该是什么?
- excel - Excel vba - 计算具有动态列数的数据平均值
- reactjs - 在 reactjs 中单击时使用 axios 更新项目
- r - 使用 R 的 Keras 词嵌入
- verilog - Verilog:如何在时钟上升沿后获得具有特定延迟的信号?
- javascript - 为什么 Sequelize 不针对我的 MS Sql 数据库进行身份验证?
- wordpress - ACF5:对 HTML 元素 ID 使用字段名称而不是字段键
- c# - 有没有办法将矩形、省略号、文本等“分组”在一起使用
- html - CSS动画没有正确填充垂直高度?
- r - 使用 ggplot2 将其他系列添加到面板/平面图