Я использую выставочную версию 32. На экране входа в систему я устанавливаю AsyncStorage, например:
await AsyncStorage.setItem('@MyApp:user', '1');
Выше код выполняется, когда API возвращает true для заданных учетных данных.В App.js с помощью реагирования навигации 2 он перенаправляется на мою целевую страницу.
const AppStack = createDrawerNavigator({
Screen_Landing: { screen: Screen_Landing}
}, {backBehavior: 'initialRoute'});
const AppScreens = createStackNavigator({
AppStack: { screen: AppStack}
}, {headerMode:'none'})
const AuthStack = createSwitchNavigator({Screen_Login: { screen: Screen_Login}},{headerMode:'none'});
const MyNavigator = createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
App: AppScreens,
Auth: AuthStack,
},
{
initialRouteName: 'AuthLoading'
}
);
Проблема заключается в том, что при успешном входе в систему он перенаправляет меня на целевую страницу, но целевая страница не получает значение AsyncStorageно когда я полностью закрываю приложение и снова открываю его, оно показывает значение AsyncStorage.Я не знаю его проблемы с экспозицией или реагировать на проблему навигации.У кого-нибудь была такая же проблема.У меня также есть такая же проблема с моим sqlite.Если я добавляю что-то в свой sqlite перед входом в систему и пытаюсь получить данные на следующем экране, он также ничего не показывает, но если я закрываю приложение и открываю заново, то он показывает данные из sqlite.Пожалуйста, объясните, в чем проблема.
На моей целевой странице я получаю такие данные, как:
async componentDidMount() {
var uid = await AsyncStorage.getItem('@MyApp:user')
console.log(uid)
}