我正在制作一个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 issue没有合适的解决方案外,我还没有找到其他关于这个问题的问题。
有没有人遇到过同样的问题,并找出原因?
更新:
我在移动的上工作没有问题,但如果能在模拟器上使用SecureStore就太好了。
1条答案
按热度按时间wh6knrhe1#
尝试清除之前设置的SecureStore中的所有数据。对我很有效。
我在卸载和重新安装Expo GO后也遇到了同样的问题。为了解决这个问题,我清除了SecureStore中的所有数据并重新分配它们。它工作了:)