Как создать приватный экран в React Native? - PullRequest
0 голосов
/ 01 февраля 2020

Я использую реагировать родной и реагировать-навигации. Теперь у меня есть:

const MainNavigator = createMaterialTopTabNavigator({
    Users: {screen: Users},
    Login: {screen: Login}
},{
    initialRouteName: 'Users',
});

const Navigator = createAppContainer(MainNavigator);


export default function App() {
  return (
      <Provider store={store}>
          <Navigator/>
      </Provider>
  );
}

Но как добавить приватный экран только для зарегистрированных пользователей? Если этот пользователь является гостем, то я не хочу показывать приватный экран в навигационной панели, в противном случае, если пользователь вошел в систему, покажите его.

1 Ответ

1 голос
/ 01 февраля 2020

Вы можете проверить, вошел ли пользователь в систему, а затем динамически добавить личные экраны.

const navigationScreens = {
    Users: {screen: Users},
    Login: {screen: Login}
}

if(isUserLoggedIn) {
   navigationScreens["PrivateScreen1"] = {
      screen: MyPrivateScreen1
   } 
   navigationScreens["PrivateScreen2"] = {
      screen: MyPrivateScreen2
   } 
}

const MainNavigator = createMaterialTopTabNavigator(navigationScreens,{
    initialRouteName: 'Users',
});

...
...