gpt4 book ai didi

reactjs - 类型错误 : null is not an object (evaluating 'RNRandomBytes.seed' ) React Native

转载 作者:行者123 更新时间:2023-12-05 06:02:07 26 4
gpt4 key购买 nike

我正在使用 React native 开发移动应用程序,其中涉及与 web3.js 的交互问题是 RN 不支持核心 Node.js 模块,所以我必须安装

npm i --save react-native-crypto

npm i --save react-native-randombytes

react-native 链接 react-native-randombytes

npm i --save-dev rn-nodeify@latest

./node_modules/.bin/rn-nodeify --hack --install

现在,每当我尝试使用 crypto 或 web3.js 时,我都会遇到此错误 enter image description here

任何线索是什么问题或者如何解决它?

最佳答案

好像是react-native-randombytes库的安装问题。

您是否考虑过使用提供相同 API 的不同的、更流行的库?

npm 表示 react-native-randombytes 每周有 19,294 次下载。另一个名为 react-native-get-random-values 的库(每周下载量为 cca 481,572)几乎可以保证正常工作(因为建议与 - uuid 等包结合使用)。这个库的 npm 链接是 here .

通过查看上面提到的两个库的源代码,它们都使用相同的 Android API,由 SecureRandom 支持,所以我预计 iOS 上也有相似之处。

react-native-get-random-values(链接 here):

@ReactMethod(isBlockingSynchronousMethod = true)
public String getRandomBase64(int byteLength) throws NoSuchAlgorithmException {
byte[] data = new byte[byteLength];
SecureRandom random = new SecureRandom();

random.nextBytes(data);

return Base64.encodeToString(data, Base64.NO_WRAP);
}

react-native-randombytes 库 - 链接 here :

@ReactMethod
public void randomBytes(int size, Callback success) {
success.invoke(null, getRandomBytes(size));
}

private String getRandomBytes(int size) {
SecureRandom sr = new SecureRandom();
byte[] output = new byte[size];
sr.nextBytes(output);
return Base64.encodeToString(output, Base64.NO_WRAP);
}


关于reactjs - 类型错误 : null is not an object (evaluating 'RNRandomBytes.seed' ) React Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67019573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com