require('react-native')。NativeModules.RNRandomBytes为null

时间:2018-05-10 20:06:22

标签: typescript react-native npm

在npm库的index.js中,react-native-randombytes有一行:let RNRandomBytes = require('react-native').NativeModules.RNRandomBytes。在init()方法中,有一个代码块包含在if语句if (RNRandomBytes.seed) { ... }中,而这里是代码中断的地方,因为RNRandomBytes未定义。

在调试中,我发现NativeModules有很多与之关联的库,而不是RNRandomBytes。我在Windows 10环境中,使用node.js和react-native通过rn-nodeify。我已经完成了react-native-crypto步骤,包括react-native link步骤。我猜我错过了什么,有没有办法用NativeModules填充RNRandomBytes

2 个答案:

答案 0 :(得分:0)

在本地模块上注册本地模块时可以在其中找到它们。这里的问题是该软件包目前没有本机Windows实现。

更新:我仔细检查过,结果发现有一个开放的PR可以添加Windows UWP应用支持,请尝试使用fork: npm i --save https://github.com/newomble/react-native-randombytes

答案 1 :(得分:0)

就我而言,我安装了 react-native-randombytes。也许你像我一样做了 react-native linkreact-native link react-native-randombytes。我打开了 podfile,它确实为我们提供了链接。但是,如果您打开 pod.lock 并查找它,它不会为我们自动安装。我去了 ios 文件夹和 pod install,它终于起作用了。这个问题让我浪费了 5 天时间。