如何在 React Native 中创建私有屏幕?

How to create private screen in React Native?

我使用 React Native 和 React-Navigation。现在我有:

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>
  );
}

但是如何为登录用户添加私有屏幕?如果此用户是访客,那么我不想在导航栏中显示私人屏幕,否则,如果用户已登录,则显示它。

您可以检查用户是否登录,然后动态添加隐私屏幕。

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

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

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

...