我在标题中有一个按钮可以打开&关闭导航抽屉菜单。 当我从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.DrawerNavigator
4.StackNavigator(其中包含Home组件)
答案 0 :(得分:0)
您可以调用传递给静态NavigationOptions的“导航”,而不是尝试将其绑定在params中进行导航。
在onPress事件中尝试使用按钮
onPress={() => navigation.navigate('DrawerToggle')}