0

我正在构建一个反应原生元素。该元素将具有 3 个react-navigation TabNavigator,如下所示:

const MainNavigator = createBottomTabNavigator({
      login: { screen: LoginPage },
      signup: { screen: SignupPage },
      main: { screen: HomePage},
    },
    {
      navigationOptions: {
        //tabBarVisible: false, // comment out for testing
      },
      lazyLoad: true
    });

我的主页正在检查身份验证componentDidMount

class HomePage extends Component {
  componentDidMount() {
    const { isAuthenticated, navigation } = this.props;
    console.log("home isAutenticated???>>", isAuthenticated);
    if (!isAuthenticated) {
      navigation.navigate('login');
    }
  }

  .....
}

在我启用 tabBar 之前,所有的身份验证流程都可以正常工作。当我在注销后单击主页选项卡时,主页仍然显示,没有触发componentDidMount逻辑,让我想知道我是否应该将身份验证检查逻辑放在其他生命周期方法中?如果有,是哪一个?

4

0 回答 0