我正在制作一个带有令牌支持的登录模块的 React Native 应用程序,因此用户不必每次都登录。
问题是我有时会收到错误:
Error: Could not encrypt/decrypt the item in SecureStore
at createErrorFromErrorData (NativeModules.js:146)
at NativeModules.js:95
at MessageQueue.__invokeCallback (MessageQueue.js:397)
at MessageQueue.js:127
at MessageQueue.__guard (MessageQueue.js:297)
at MessageQueue.invokeCallbackAndReturnFlushedQueue (MessageQueue.js:126)
错误只是随机发生的,所以我不知道如何找出问题所在,也不知道如何调试问题。
我所做的只是检查令牌是否已存储:
let userToken = yield call(SecureStore.getItemAsync, "userToken");
如果还没有令牌,请保存从服务器收到的令牌:
yield call(SecureStore.setItemAsync, "userToken", token);
除了一年多前没有适当解决方案的 GitHub 问题外,我还没有找到其他问题。
有没有人遇到过同样的问题并找出原因造成的?
更新:
我在移动设备上工作没有问题,但是能够在模拟器上使用SecureStore会很好。
尝试清除之前设置的安全存储中的所有数据。它对我有用。
卸载并重新安装Expo GO后,我遇到了同样的问题。为了解决这个问题,我清除了SecureStore中的所有数据并重新分配了它们。它:)