将堆栈导航与抽屉导航进行通信以登录

时间:2019-08-27 13:29:16

标签: reactjs react-native react-native-android

我正在尝试制作一个导航应用程序,如果用户尚未登录,那么我将获得一个包含3个屏幕(欢迎,登录,注册)的堆栈导航。 如果我已经登录,那么我将更改导航,现在我可以使用抽屉式导航来始终显示带有关闭会话按钮的抽屉。 App.js通过其状态决定使用一种导航还是另一种导航。 问题在于,由于导航,我无法修改app.js的状态,以便再次呈现它并采取相应的操作。

在它是一个内部的导航抽屉之前,它构成了堆栈的导航。 问题是抽屉必须显示一个从API消耗掉的QR码。第一次启动会话时未显示QR码,因为自应用程序启动以来便已经绘制了抽屉。因此,我不得不改变做事的逻辑。

export default class App extends Component {
  constructor(props){
    super(props);
    this.state = {
      loading:true,
      isLogged:false
    }
  }

  render(){
    let loading = this.state.loading;
    let logged = this.state.isLogged;
    if(loading != false){
      return(<Bienvenida />)
    }else{
      if(logged){
        return(<Navigation />)
      }else{
        return (<UserNavigation />)
      }
    }
  }
}

1 个答案:

答案 0 :(得分:0)

在这种情况下,我建议使用 ColA ColB 0 1.0 NaN 1 7.0 7.0 2 NaN NaN 3 9.0 9.0 4 10.0 10.0

switchNavigator允许您像浏览网页一样浏览低谷屏幕,破坏以前的最新屏幕。

结构类似于:

switchNavigator

当用户未登录时,您的堆栈将处理所有部分。然后,当用户登录后,您可以从堆栈传递到抽屉。

与以后注销时相同,从抽屉中导航到堆栈

有关更多信息:https://reactnavigation.org/docs/en/switch-navigator.html

相关问题