Невозможно найти модуль для EventDispatcher React Native

При запуске приложения с использованиемact react-native run-ios на симуляторе отображается ошибка. Unable to find module for EventDispatcher

enter image description here

Ответы

Ответ 1

  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

Это решит проблему.

В режиме реального времени перезагрузки и отладки все должно работать без проблем.