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



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

在调试中,我发现NativeModules有很多与之关联的库,只是没有RNRandomBytes。我在Windows 10环境中,使用node.js并通过rn-nodeify进行本机反应。我已经完成了反应原生加密步骤,包括react-native link步骤。我猜我错过了一些东西,有没有办法用RNRandomBytes填充NativeModules

尝试重建你的 ios/android 代码。

如果安装包含本机代码的新包,则需要重新生成本机代码。反应原生中的热重载只是加载 js 和资产文件。

这是在本机端注册本机模块时可以找到本机模块的地方。这里的问题是目前没有该包的本机窗口实现。

更新:我仔细检查了一下,结果发现有一个开放的 PR 来添加 Windows UWP 应用程序支持,请尝试该分支:npm i --save https://github.com/newomble/react-native-randombytes

就我而言,我安装了反应原生随机字节。也许你和我一样做了react-native linkreact-native link react-native-randombytes。我打开了 podfile,它确实为我们链接了。但是,如果您打开 pod.lock 并查找它,它不会为我们自动安装。我去了ios文件夹并pod install,它终于可以工作了。这个问题浪费了我 5 天。

相关内容

最新更新