我的问题可能有点愚蠢或模棱两可,因为我是刚接触原生的人。
我正在为我的本机项目https://github.com/smekalka/react-native-universal-pedometer使用以下存储库。我注意到,与我以前看到的常规.java
或platform folder
文件不同,该回购是通过.js
在.ts
中实现的。如本机文档描述的那样,此存储库是否被视为native module
?
或者总的来说,我怎么知道我使用的库是一个本机模块。
先前经过测试的项目在expo-cli
的支持下。使用此存储库时遇到错误null is not n object
。如果是这样,我可能会弹出expo-cli并重写我的代码,以便我可以使用甚至创建自己的本机模块来进行完全控制,而某些用其他语言或expo-cli
编写的核心实现不支持。
答案 0 :(得分:0)
是的,存储库中的android
和ios
目录包含“本机”代码,用于实现Java平台将能够提取的特定于平台的挂钩。 Expo无法使用这些本机模块或本机代码,因此您的假设是正确的;您需要弹出您的应用程序才能使用此模块。
如果您的应用低于React Native的0.60版本,则在安装模块后,您将需要运行react-native link react-native-universal-pedometer
来将本机代码链接到Javascript运行时。如果您高于0.60,安装后它将自动链接。