Экспо Показать данные AsyncStorage После перезапуска приложения - PullRequest
0 голосов
/ 22 февраля 2019

Я использую выставочную версию 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)
    }

1 Ответ

0 голосов
/ 22 февраля 2019

Похоже, вы пытаетесь отобразить данные, которые не являются prop или state.

Если у вас есть данные, поступающие после первоначального рендеринга React, они не будут обновляться, если не будет изменено значение state или props.

Что вы можете сделать, это установить пользовательское значениеи ваши данные sqlite к состоянию вашего компонента.

...