我基于Ex-navigation的例子构建了我的导航
一切正常,但我不知道如何退出
我有一个<Main/>
组件,它呈现<DrawerNavigationMenu/>
,如示例中所示这是我的<DrawerNavigationMenu/>
render() {
return (
<DrawerNavigation
renderHeader={this._renderHeader}
drawerWidth={300}
initialItem="home">
<DrawerNavigationItem
id="home"
selectedStyle={styles.selectedItemStyle}
renderTitle={isSelected => this._renderTitle('Home', isSelected)}
renderIcon={isSelected => this._renderIcon('md-home', isSelected)}>
<StackNavigation
id="home"
defaultRouteConfig={{
navigationBar: {
backgroundColor: '#2497b7',
tintColor: '#fff',
height: 60,
},
}}
initialRoute={Router.getRoute('home')}/>
</DrawerNavigationItem>
<DrawerNavigationItem
id="logout"
selectedStyle={styles.selectedItemStyle}
renderTitle={isSelected => this._renderTitle('Logout', isSelected)}
renderIcon={isSelected => this._renderIcon('md-exit', isSelected)}>
<StackNavigation
id="root"
initialRoute={Router.getRoute('root')}/>
</DrawerNavigationItem>
</DrawerNavigation>
);
}
在"登出"项中,我需要重置导航堆栈并渲染我的根场景而没有返回的机会
我试着用initialStack=
代替initialRoute=
,像这样
<StackNavigation
id="root"
initialStack={[Router.getRoute('root')]}/>
但是当我点击(Android)返回时,它仍然回到Home场景。这里我没有明确使用Redux。这是实现退出导航的正确方法吗?什么好主意吗?拜托!
给DrawernavigationItem道具onPress
,并调用一个在认证和登陆页面之间切换的函数。
<DrawerNavigationItem
id="Sign out"
selectedStyle={styles.selectedItemStyle}
onPress={()=>{this.signOut()}}
renderTitle={isSelected => this._renderTitle('Sign out', isSelected)}
/>