в моем приложении React Native я получаю токен от API. Каждый раз, когда приложение отправляет запрос на сервер, этот токен необходим. Я сохраняю токен в AsyncStorage:
export const onSignIn = (value) => AsyncStorage.setItem('USER_TOKEN', value);
Во многих различных частях приложения мне нужен этот токен, и поэтому я хотел использовать функцию, которая извлекает информацию из токена:
export const getTokenInfo = async () => {
try{
const value = await AsyncStorage.getItem('USER_TOKEN')
.then((res) => {
const jsonData = jwtDecode(res);
return jsonData;
})
}
catch(e){
console.log('caught error', e);
}
}
При вызове функции в других компонентах она просто возвращает обещание, а не токен. Есть ли возможность получить токен, но не обещание? Возможный подход состоял в том, чтобы использовать setState()
для хранения токена в состоянии, но есть некоторые компоненты, такие как DrawerNavigator, которых нет в классе.
Спасибо!