首页 > 解决方案 > 使用 expo 导入模块返回 null

问题描述

我正在尝试使用 expo 导入指南针模块但未成功并做出本机反应

链接到图书馆

当我取消注释导入行时出现错误,这给了我错误:

import RNSimpleCompass from 'react-native-simple-compass';

null is not an Object (Evaluating 'RNSimpleCompass.start')

我基本上使用提供的说明安装库:

npm install react-native-simple-compass --save

我也尝试链接它

npx react-native link react-native-simple-compass

然后我跑

npm start

它开始世博会并给我错误

我通常安装和运行其他 npm 包没有问题,但是这个在导入时一直在抱怨。

我检查了该库是否在我的 package.json 依赖项中。我什至尝试删除 node_modules 文件夹并重新运行 npm install 以重新安装所有依赖项,但错误仍然存​​在。

我错过了什么吗?

标签: javascriptreactjsreact-nativeimportexpo

解决方案


当您拥有世博会“托管”项目(没有“ios”和“android”目录)时,您不能使用包含本机代码(objc 或 java)的 react-native 库。它在其他情况下也有效,因为您可能只添加了 js 库或 expo 明确支持的库。

如果你想使用那个库,你需要弹出到裸工作流(expo eject)。您仍然可以访问您当前使用的所有 expo 库,但您将无法在 Expo 服务器上构建它。


推荐阅读