【问题标题】:Unable to save secure data to react-native-secure-key-store无法将安全数据保存到 react-native-secure-key-store
【发布时间】:2018-07-27 09:13:57
【问题描述】:

我正在使用“react-native-secure-key-store”npm 包将会话密钥安全地存储在 React Native 中。 https://www.npmjs.com/package/react-native-secure-key-store

当我尝试保存时,出现以下错误

TypeError: Cannot read property 'set' of undefined
TypeError: Cannot read property 'set' of undefined
    at Login._this.saveSessionToken (blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:81379:45)
    at blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:81370:17
    at tryCallOne (blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:16056:14)
    at blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:16157:17
    at blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:2884:21
    at _callTimer (blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:2773:9)
    at _callImmediatesPass (blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:2809:9)
    at Object.callImmediates (blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:3028:14)
    at MessageQueue.__callImmediates (blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:2362:18)
    at blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:2189:18
    at blob:http://localhost:8081/5eb8f7f3-851b-47b3-8b90-107d6700bef3:2189:18

我按照文档创建了一个如下所示的 secureKeyStore.js 文件。

secureKeyStore.JS

 import RNSecureKeyStore from 'react-native-secure-key-store';

export function storeKey ( key, value ){
    RNSecureKeyStore.set(key, value)
    .then((res) => {
        console.log(res);
    }, (err) => {
        console.log(err);
    });
}

export function retrieveKey(key) {
    RNSecureKeyStore.get(key)
    .then((res) => {
        console.log(res);
    }, (err) => {
        console.log(err);
    });
}

export function removeKey(key) {
    RNSecureKeyStore.remove(key)
    .then((res) => {
        console.log(res);
    }, (err) => {
        console.log(err);
    }); 
}

这就是我访问这些方法的方式。

登录.JS

import { storeKey, retrieveKey } from '../../../utils/secureKeyStore';

storeKey('sessionToken', 'xyz');

package.json - 依赖项

"react-native-secure-key-store": "^1.0.9",

你能建议我哪里做错了吗?

谢谢 回复

【问题讨论】:

    标签: reactjs react-native react-native-android keystore react-native-ios


    【解决方案1】:

    同样的问题!这是我的方式,你可以试试:

    • 我是通过yarn 命令安装的。请改用npm。可能是纱线错误。
    • 将库降级为1.0.5
    • react-native link xxxxx
    • 删除ios/build文件夹。
    • 打开 Xcode,清理,构建项目。如果没有错误转到下一步
    • 再次react-native run-ios
    • 成功了!

    【讨论】:

    • 我试试这个,但是一样
    【解决方案2】:

    您需要在执行 JSON.stringfy & 后保存数据以获得您需要执行 JSON.parse 的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 2021-12-25
      • 2016-09-30
      • 2017-10-30
      • 2022-01-12
      • 1970-01-01
      相关资源
      最近更新 更多