0

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

在“注销”项目中,我需要重置导航堆栈并渲染我的 Root 场景而没有返回的机会

我尝试使用initialStack=而不是initialRoute=,像这样

<StackNavigation
 id="root"
 initialStack={[Router.getRoute('root')]}/>

但是当我回击(Android)时,它仍然会回到 Home 场景。我在这里没有明确使用 Redux。这是实现退出导航的正确方法吗?有任何想法吗?请!

4

1 回答 1

1

给 DrawernavigationItem 道具onPress并调用一个在 Authentication 和 Landing 页面之间切换的函数。

<DrawerNavigationItem
     id="Sign out"
     selectedStyle={styles.selectedItemStyle}
     onPress={()=>{this.signOut()}}
     renderTitle={isSelected => this._renderTitle('Sign out', isSelected)}
   />
于 2017-02-17T11:47:44.753 回答