运行React Native应用时出现‘Extra argument 'eventDispatcher' in call’错误求助
解决expo-modules-core ^0.9.2 iOS构建失败:Extra argument 'eventDispatcher' in call
临时修复方案(手动修改文件)
- 定位到项目目录下的
node_modules/expo-modules-core/ios/Swift/Views/ComponentData.swift文件 - 将出错的初始化方法修改为以下代码,移除多余的
eventDispatcher参数:
public init(viewModule: ViewModuleWrapper, managerClass: ViewModuleWrapper.Type, bridge: RCTBridge) { self.moduleHolder = viewModule.wrappedModuleHolder super.init(managerClass: managerClass, bridge: bridge) }
- 重新执行
pod install,之后在Xcode中重新构建项目即可。
永久解决方案(升级依赖)
手动修改文件每次npm install后都会被覆盖,更稳妥的方式是升级expo-modules-core到修复该问题的版本(>=0.10.0):
npm install expo-modules-core@latest pod install
问题原因
expo-modules-core 0.9.2的代码适配了旧版React Native的RCTViewComponentData初始化API,而当前你使用的RN版本或编译环境中,该初始化方法已移除eventDispatcher参数——事件分发器已通过bridge实例内置,无需手动传入,因此出现参数冗余报错。
内容的提问来源于stack exchange,提问作者JAK
相关产品推荐
相关产品推荐

