博览会,反应本机异步存储在热重载后重置



我正在开发我自己的私人世博会,使用 Expo SDK 32.0.0 的 React Native 应用程序,我目前正在构建一个身份验证流,我通过我的 graphql 端点获取一个 JWT 令牌,然后将其存储在 AsyncStorage 中。

我登录,

一切正常,我在异步存储中获得了一个令牌,我被重定向到新的堆栈,然后我在代码中进行一些更改,保存它并热重载应用程序,然后当它检查我是否有令牌时,它说它未定义,然后将我的回传到登录流。

所以我的问题是,异步存储是在热重载后重置还是缺少一些东西?

设置令牌后重新竞争。

componentDidMount = async () => {
    const StoredAuth = await AsyncStorage.getItem(Config.STORAGE_AUTH_KEY)
    this.props.navigation.navigate(StoredAuth ? 'App' : 'Auth');
  }

热重载不会影响AsyncStorage 。假设您尝试在屏幕组件中进行热重载App

任何与STORAGE_AUTH_KEY相关的地方都可能在您使用App组件或store(如 redux 和 mobx)中出现意外情况。

您可以在此处查看热重载的工作原理。

使用 expo-secure-store 而不是异步存储。

https://docs.expo.dev/versions/latest/sdk/securestore/

最新更新