Я использую React Navigation для реализации аутентификации.Я хочу, чтобы при наличии действующего токена пользователь направлялся в навигатор приложений.В противном случае он будет направлен на навигатор авторизации.
В моей реализации монтируется экран загрузки, а также аутентификация, но я ничего не вижу.
index.js:
import { createSwitchNavigator, createAppContainer } from 'react-navigation';
import app from './app';
import auth from './auth';
import loading from './loading-screen'
export default createAppContainer(createSwitchNavigator(
{
loading,
app,
auth
}
));
loading-screen.js:
import React from 'react';
import {
ActivityIndicator,
AsyncStorage,
StatusBar,
View,
} from 'react-native';
export default class LoadingScreen extends React.Component {
constructor(props) {
super(props);
this.getUser();
}
getUser = async () => {
const token = await AsyncStorage.getItem('token');
this.props.navigation.navigate(token ? 'app' : 'auth');
};
render() {
return (
<View>
<ActivityIndicator />
<StatusBar barStyle="default" />
</View>
);
}
};
app.js:
import React from 'react';
import { createStackNavigator } from 'react-navigation';
import { View, Text } from 'react-native';
const login = () => (
<View>
<Text>login</Text>
</View>
);
export default createStackNavigator({login});
Если я экспортирую компонент входа из auth.js без функции createStackNavigator
, он работает иЯ вижу логин на экране.С ним это не так.