React-native,"Native模块不能为null"

Bla*_*use 31 react-native

我只是将React-native从0.28升级到0.30,并收到此错误:

"本机模块不能为空".

问题似乎与行/包有关:

var PushNotification = require('react-native-push-notification');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 提前致谢

天才小*_*小飞猫 25

红盒投诉反应原生<unkown>在找不到一些符号PushNotificationIOS.js line 18.

当您无法将第三个lib链接到目标时,通常会发生这种情况,导致NativeModules在尝试时找不到任何内容.

要解决这个问题,请使用Project Navigator - > Target - > General - > Linked Frameworks and Libraries,确保somelib.a存在.

在此输入图像描述

在您的情况下,请遵循ios安装指南react-native doc


sim*_*tar 10

在我的情况下,运行$ pod install内部 /ios 目录就成功了!


Ser*_*mad 8

有时,如果你有另一个react-native packager已经在运行不同的应用程序.你可能会看到这个问题.

特别是如果react-native版本相同且之前启动的应用程序需要当前应用程序中不可用的本机模块.

在这些情况下,您可以终止反应包装器终端并重新启动它,问题应该消失.

此外,如果它是相同的应用程序,你刚刚升级.确保它已正确链接.如果没有再次调用react-native链接.


Shi*_*nha 3

我认为这与如何导出和导入模块有关。确保每个对应的

如果你像这样导出你的模块module.exports = moduleName;你应该使用 var moduleName = require('moduleName');

如果使用 导出您的模块export default moduleName;。您应该使用导入import ModuleName from './ModuleName;

检查您的所有出口和进口。