簡體   English   中英

使用DrawerNavigation進行前導航注銷

[英]Sign out with ex-navigation using 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>
);
}

在“注銷”項目中, 我需要重置導航堆棧並渲染我的Root場景,而無需返回

我嘗試使用initialStack=而不是initialRoute= ,像這樣

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

但是當我按下(Android)后退時,它仍然返回到Home場景。 我在這里沒有明確使用Redux。 這是實施登出導航的正確方法嗎? 有任何想法嗎? 請!

給DrawernavigationItem道具onPress並調用一個在Authentication和Landing頁面之間切換的函數。

<DrawerNavigationItem
     id="Sign out"
     selectedStyle={styles.selectedItemStyle}
     onPress={()=>{this.signOut()}}
     renderTitle={isSelected => this._renderTitle('Sign out', isSelected)}
   />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM