Действительно новый, чтобы реагировать на родную здесь. Попытка достичь следующего потока приложения:
Запуск приложения -> Проверка AuthToken -> Проверка ProfileData -> Главное приложение
Для проверки AuthToken:
- Если токен существует, добавьте его в заголовки для будущих запросов
- Если токена нет, перенаправьте на страницу входа, успешный вход сохранит токен в SecureStore, а затем добавит его в заголовки для будущих запросов
Для проверки данных профиля:
- Если нет ProfileData, сделать запрос API, записать в хранилище, перейти в главное приложение
- Если ProfileData существует, извлеките ее и передайте в главное приложение
В настоящее время я использую react-native-router-flux
для загрузки компонента AuthCheck, который в основном выполняет это:
async componentWillMount() {
await this.tokenCheck();
}
async tokenCheck(){
console.log("Checking for token..");
let token_exist = await SecureStore.getItemAsync("AuthToken");
if(!token_exist) {
Actions.auth();
}else{
Actions.main();
}
}
Где мне разместить этот код, если я хочу запустить его на каждой странице? Где я могу разместить код для получения информации о профиле?