使用DrawerNavigation与前导航签出



我基于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)}
   />

最新更新