React Native安装软件包

时间:2019-03-30 08:23:18

标签: react-native package

这里的React-Native新手遇到问题,想知道我是否错过了安装软件包的基本步骤。

我一直在尝试使用react-native-rsa-native软件包(https://github.com/amitaymolko/react-native-rsa-native

但是我得到

TypeError: undefined is not an object (evaluating '_reactNativeRsaNative.RSA.generateKeys')

我的测试代码是:

import React from 'react';
import { StyleSheet, Text, View } from 'react-native';

import { RSA, RSAKeychain } from 'react-native-rsa-native';

export default class App extends React.Component {

  componentWillMount() {
    RSA.generateKeys(4096) // set key size
      .then(keys => {
        console.log('4096 private:', keys.private) // the private key
        console.log('4096 public:', keys.public) // the public key
      });
  }

  render() {
    ...
  }
}

遵循的步骤是:

expo init rsatest --template blank@sdk-31 --yarn
cd rsatest
yarn add react-native-rsa-native
react-native link react-native-rsa-native
yarn start

react-native-rsa-native软件包确实出现在node_modules目录中,但是我感觉缺少一些东西。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

不相关的一件事是componentWillMount已被弃用。

https://reactjs.org/docs/react-component.html React文档是React本机文档的基础。

还有 componentWillMount(),如果有获取调用,并带有承诺,则承诺不会在组件安装之前返回,组件将至少返回空一次。

我建议尝试 componentDidMount()

希望这会有所帮助

为拼写而编辑*

答案 1 :(得分:0)

该库与Expo不兼容。在这里检查原因:react native link using expo?

因此,您可能想expo eject。我认为这也不是一种选择。

您怎么尝试下面的这个呢? https://github.com/z-hao-wang/react-native-rsa

答案 2 :(得分:0)

您可以删除节点模块,然后 npm安装 反应本机链接 react-native run-android / run-ios

也许

这很有帮助: how to delete installed library form react native project