При запуске приложения с использованиемact react-native run-ios
на симуляторе отображается ошибка. Unable to find module for EventDispatcher
Невозможно найти модуль для EventDispatcher React Native
Ответ 1
- Остановите удаленную отладку JS и перезагрузите приложение
Это даст вам соответствующее сообщение об ошибке, скорее всего, пропустит рендеринг на одном из ваших компонентов. Это исправило это для меня.
Ответ 2
Я начал получать эту ошибку после обновления RN с v0.57.3
до v0.58.6
. Запуск упаковщика с yarn start -reset-cache
/yarn start -reset-cache
react-native start --reset-cache
исправил проблему для меня.
Ответ 3
Это кажется проблемой при использовании удаленного отладчика с определенными версиями RN выше 0.58. Использование response-native-debugger должно решить проблему, так как он уже поддерживает версии RN выше.
Его можно скачать по следующей ссылке: https://github.com/jhen0409/react-native-debugger/releases.
Ответ 4
Я также вижу эту проблему на RN 0.59.5 и React Native Debugger 0.9.8
Если я отклоняю ошибку, прекращаю удаленную отладку и перезагружаюсь, сообщение об ошибке исчезло, и все, кажется, хорошо. Перезапустите удаленную отладку, и ошибки нет (предупреждение о цикле обязательности в Realm, но это можно игнорировать). На этом этапе дальнейшая перезагрузка с уже подключенным отладчиком приводит к возврату ошибки.
Ответ 5
Так что эта проблема произошла со мной после того, как я обновился до RN 0.59.x. Я получал эту ошибку, когда была включена живая перезагрузка или я пытался обновить экран на iOS, нажимая CMD + R.
Связанные вопросы:
- Не удалось найти модуль для UIManager
- Невозможно найти модуль для DevLoadingView
- Не удалось найти модуль для EventDispatcher
Вот как я это решил:
Отредактируйте файл AppDelegate.m и добавьте следующий код перед @end
#if RCT_DEV
- (BOOL)bridge:(RCTBridge *)bridge didNotFindModule:(NSString *)moduleName {
return YES;
}
#endif
Это решит проблему.
- Ссылка на исправление на github.
- Связанное обсуждение на github.
В режиме реального времени перезагрузки и отладки все должно работать без проблем.