对本机做出反应,如何知道我要导入的存储库是本机模块

时间:2020-03-06 22:03:12

标签: react-native

我的问题可能有点愚蠢或模棱两可,因为我是刚接触原生的人。

我正在为我的本机项目https://github.com/smekalka/react-native-universal-pedometer使用以下存储库。我注意到,与我以前看到的常规.javaplatform folder文件不同,该回购是通过.js.ts中实现的。如本机文档描述的那样,此存储库是否被视为native module

或者总的来说,我怎么知道我使用的库是一个本机模块。

先前经过测试的项目在expo-cli的支持下。使用此存储库时遇到错误null is not n object。如果是这样,我可能会弹出expo-cli并重写我的代码,以便我可以使用甚至创建自己的本机模块来进行完全控制,而某些用其他语言或expo-cli编写的核心实现不支持。

1 个答案:

答案 0 :(得分:0)

是的,存储库中的androidios目录包含“本机”代码,用于实现Java平台将能够提取的特定于平台的挂钩。 Expo无法使用这些本机模块或本机代码,因此您的假设是正确的;您需要弹出您的应用程序才能使用此模块。

如果您的应用低于React Native的0.60版本,则在安装模块后,您将需要运行react-native link react-native-universal-pedometer来将本机代码链接到Javascript运行时。如果您高于0.60,安装后它将自动链接。