如何链接本机HOC依赖关系?

时间:2019-07-29 19:30:47

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

我正在使用作为npm模块导出的React本机HOC,由于链接问题,该模块内部使用@react-native-community/async-storage抛出AsyncStorage of null。安装模块后,如何自动链接依赖项?

"dependencies": {
    "@react-native-community/async-storage": "^1.6.1",
    "react-native-webview": "^5.12.1"
}

我写了https://www.npmjs.com/package/react-native-google-sheet这个库,它使用react-native-webview作为依赖。当我尝试使用react-native-google-sheet时,由于安装依赖项无法链接库,因此链接错误。在我的库中是否有一种方法可以链接依赖关系?

更新: 我看到这有点令人困惑。假设X先生使用app.js中的模块react-native-google-sheet,该模块内部使用他可能不知道的react-native-webview。 X先生只是试图使用模块的最终用户,但由于使用了应该链接的模块而出现错误,因此出现错误。现在,当我开发react-native-google-sheet时,我不希望最终用户面对这个问题。那么问题是,当X先生安装后是否会添加yarn-native-google-sheet / react-native链接react-native-webview的方法?更多类似“ postinstall”之类的react-native-google-sheet模块会很小心。

1 个答案:

答案 0 :(得分:0)

React Native 0.60 +

CLI auto-link功能在构建应用程序时链接模块。

反应本机<= 0.59

$ react-native链接@ react-native-community / async-storage 注意对于使用cocoapods的iOS,运行:

$ cd ios / && pod安装

升级到React Native 0.60 +

新的React Native带有自动链接功能,该功能会自动链接项目中的Native Modules。为了使其正常工作,请确保先取消链接异步存储:

$ react-native取消链接@ react-native-community / async-storage