反应本机 NavigationDrawer navigation.toggleDrawer() 不起作用
Posted
技术标签:
【中文标题】反应本机 NavigationDrawer navigation.toggleDrawer() 不起作用【英文标题】:React native NavigationDrawer navigation.toggleDrawer() doesn't work 【发布时间】:2018-11-22 17:33:46 【问题描述】:我在标题中有一个按钮来打开和关闭导航抽屉菜单。 当我从 componentDidMount() 调用以下方法时,它起作用并打开了菜单:
this.props.navigation.toggleDrawer();
但是当我单击按钮时它不起作用并且只是淡出屏幕! 这是组件代码:
export class Home extends BaseScreen
constructor(props)
super(props);
static navigationOptions = ( navigation ) =>
const params = = navigation.state;
return (
headerStyle:
backgroundColor: '#FF9800'
, headerRight: <UserCoins />
, headerLeft: <Button onPress=params.handlePress title='Menu' />
, title: 'title'
)
_handlePress()
this.props.navigation.toggleDrawer();
state =
coins: 0,
//
componentDidMount()
this.props.navigation.setParams(
handlePress: this._handlePress.bind(this)
);
//here working
this.props.navigation.toggleDrawer();
render()
return (<Text />);
export default Home
我的导航器结构是:
1.SwitchNavigator
2.BottomTabNavigator
3.抽屉导航器
4.StackNavigator(里面有Home组件)
【问题讨论】:
我也遇到了同样的问题,你找到解决办法了吗? 【参考方案1】:您可以调用传递给静态 NavigationOptions 的“导航”,而不是尝试将其绑定到导航参数中。
在你的 onPress 事件中为你的按钮试试这个
onPress=() => navigation.navigate('DrawerToggle')
【讨论】:
以上是关于反应本机 NavigationDrawer navigation.toggleDrawer() 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
NavigationDrawer 在 itemclick 处不执行任何操作