React Native:模块RCTLog不是注册的可调用模块(调用logIfNoNativeHook)
Posted
技术标签:
【中文标题】React Native:模块RCTLog不是注册的可调用模块(调用logIfNoNativeHook)【英文标题】:React Native: Module RCTLog is not a registered callable module (calling logIfNoNativeHook) 【发布时间】:2020-02-03 00:13:26 【问题描述】:我做了一个 React Native 包并在 npm 上发布。
问题是当我在 React Native 应用程序中将代码作为普通组件运行时,它可以正常工作,没有错误。
当我在 Npm 上发布包并将其作为依赖项下载到我的项目时,应用程序会抛出红屏错误。
错误是:
Invariant Violation: Module RCTLog is not a registered callable module (calling logIfNoNativeHook)
__callFunction
index.bundle?platform=ios&dev=true&minify=false:109413:18
<unknown>
index.bundle?platform=ios&dev=true&minify=false:109128:31
__guard
index.bundle?platform=ios&dev=true&minify=false:109369:15
callFunctionReturnFlushedQueue
index.bundle?platform=ios&dev=true&minify=false:109127:21
callFunctionReturnFlushedQueue
[native code]:0
注意:Github 上提供的所有代码 如果您可以安装该软件包,请在Npm 上找到该软件包,如果您遇到同样的错误,请给我反馈,这也可能会有所帮助
【问题讨论】:
【参考方案1】:我使用你的包创建了 Expo 小吃,没有收到任何问题,在 IOS 和 android 上测试。 世博小吃:https://snack.expo.io/@djalik/progressoverlay
【讨论】:
【参考方案2】:原因很可能是this.
我会尝试执行上面的建议,基本上将这个var RCTLog = require('RCTLog');
添加到 index.ios.js 文件中。
【讨论】:
那个问题是从 2016 年开始的,我今天在 RN 版本 60.5 中得到它。其他地方肯定有新的修复吗?【参考方案3】:通常由损坏的缓存引起。
-
停止 Metro 捆绑器
rm -rf $TMPDIR/metro-cache/
再次启动捆绑程序 (react-native start
)
【讨论】:
以上是关于React Native:模块RCTLog不是注册的可调用模块(调用logIfNoNativeHook)的主要内容,如果未能解决你的问题,请参考以下文章
React Native - Xcode 12.1 & iOS 14.0.1 Invariant Violation:Module AppRegistry 不是注册的可调用模块(调用 runA