Как я могу выполнять действия пользователя по навигации в React? - PullRequest
0 голосов
/ 13 июля 2020

Мой англи sh не годится, заранее прошу прощения. Я использую собственное меню вкладок React. Но разделы логина и профиля пользователя появляются одновременно. Для этого прячу, если есть жетон. Но когда рулю, мой профиль не появляется. Он появляется только тогда, когда я нажимаю на другую вкладку. Я думаю, это не появляется сразу, потому что он ждет с await.

let token = null;

export default function BottomTabNavigator({ navigation, route }) {
  navigation.setOptions({ headerTitle: getHeaderTitle(route) });  
  _getToken();

  return (
    <BottomTab.Navigator initialRouteName={INITIAL_ROUTE_NAME}>
      {token ?
        <BottomTab.Screen
          name="Profile"
          component={ProfileScreen}        
          options={{
            title: 'Profilim',
            tabBarIcon: ({ focused }) => <TabBarIcon focused={focused} name="md-person" />,
          }}
        /> 
      : <BottomTab.Screen
          name="Login"
          component={LoginScreen}        
          options={{
            title: 'Giriş Yap',
            tabBarIcon: ({ focused }) => <TabBarIcon focused={focused} name="md-person" />,
          }}
        />}     
    </BottomTab.Navigator>
  );
}

async function _getToken() {  
  try {
    token = await AsyncStorage.getItem('token');
  } catch (error) {
    console.log(error);
  }
};
...