重新启动应用程序后,博览会显示异步数据



我正在使用Expo版本32。在我的登录屏幕上,我设置了Asyncstorage,例如:

await AsyncStorage.setItem('@MyApp:user', '1');

上面的代码在给定凭据上返回true时运行。在App.js中,通过使用React Navigation 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'
        }
    );

问题是,当我成功登录时,它将我重定向到着陆页,但是着陆页没有异步值,但是当我完全关闭应用程序并重新打开它时,然后显示异步值。我不知道它与世博或反应导航问题的问题。有人有同样的问题吗?我的sqlite也有同样的问题。如果我在登录之前添加一些东西,请尝试在下一个屏幕上获取数据,它也没有显示出来,但如果我关闭了应用程序&然后打开,然后显示来自sqlite的数据。请指导什么问题。

在我的着陆页上,我正在获取以下数据,例如:

    async componentDidMount() {
    var uid = await AsyncStorage.getItem('@MyApp:user')
console.log(uid)
    }

似乎您正在尝试渲染不是propstate的数据。

如果您有React的初始渲染后出现数据,则除非更改为stateprops

,它不会更新。

您可以做的是将用户值和SQLite数据设置为组件的状态。

相关内容

  • 没有找到相关文章

最新更新