Вам не нужно этого делать, просто вы можете проверить действительный сеанс на экране входа в систему.
Вам необходимо создать 2 стека, один для экранов auth
и ваш TabStack дляlogged
пользователи:
const TabStack = createBottomTabNavigator({
Home: { screen: HomeScreen, },
Account: { screen: AccountScreen, }
},
{
initialRouteName: 'Home',
headerMode: 'none',
navigationOptions: {
headerVisible: false,
}
});
const stack = createStackNavigator({
Home: {screen: TabStack},
Login: { screen: LoginScreen, }
});
, а затем проверьте правильность сеанса в LoginScreen
в методе componentDidMount
.
class LoginScreen extends Component {
componentDidMount(){
const session = await AsyncStorage.getItem('session');
if (session.isValid) {
this.props.navigate('home')
}
}
}