Подтвердить что ты не робот

Не удалось вызвать AppRegistry.registerComponent

Я создал новый проект, используя react-native init Wevaha, после чего я excute он работает правильно, то я изменил пример приложения на основе моего Требование снова запускает его правильно, но в следующий раз при запуске приложения я получаю ошибку, например

' Application Wevaha has not been registered.This is either due to a require() error during intialization or failure to call

AppRegistry.registerComponent

Снимок экрана, прикрепленный ниже, введите описание изображения здесь

4b9b3361

Ответ 1

Вероятно, у вас уже есть другой сервер Packager React Native для другого приложения или что имя приложения в AppDelegate.m и ваш index.js не совпадают.

Попробуйте закрыть все окна терминала, дважды проверьте значение moduleName и запустите проект еще раз.

Ответ 2

Для нас проблема заключалась в том, что имя зарегистрированного приложения не соответствовало корневой папке. Итак, если ваша корневая папка /ChatApp, зарегистрируйте свое приложение так:

AppRegistry.registerComponent('ChatApp', ()  => App);

Ответ 3

Чтобы уточнить, что сказал облад, я все еще сталкивался с этой проблемой после закрытия всех окон терминала/уничтожения всех других процессов React Native. Что случилось со мной, значение moduleName в AppDelegate.m (в корне проекта XCode) было неправильным. Я использую сборку из Barton Hammond Snowflake и пытался переименовать ее из "снежинки" в мою собственную, и я пропустил это значение и получал это ошибка.

Ответ 4

В моем случае я смотрю на номер порта упаковщика, в котором он прослушивает. Это результат вашего вызова npm start в корневом каталоге проекта.

┌────────────────────────────────────────────────────────────────────────────┐
 │  Running packager on port 8081.                                            │
 │                                                                            │
 │  Keep this packager running while developing on any JS projects. Feel      │
 │  free to close this tab and run your own packager instance if you          │
 │  prefer.                                                                   │
 │                                                                            │
 │  https://github.com/facebook/react-native                                  │
 │                                                                            │
 └────────────────────────────────────────────────────────────────────────────┘

Затем я проверяю, какое приложение прослушивает этот порт через

lsof -i :8081

Результат:

COMMAND    PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
AwesomePr 8131 haxpor    9u  IPv6 0x372bdab8e928e839      0t0  TCP localhost:56484->localhost:sunproxyadmin (SYN_SENT)

Теперь возьмите этот номер PID и заставьте его убить через

kill -9 8131

Запустите ваш упаковщик в идеале с сбросом кеша через npm start -- --reset-cache, теперь все должно быть хорошо.

FYI

реагировать: 15.4.2, реагировать-native: 0.41.2

Ответ 5

В моем случае это вызвано чувствительностью к регистру приложения в index.ios.js.

Он работает после того, как я изменился с

AppRegistry.registerComponent('AppleReactNative', () => App)

to

AppRegistry.registerComponent('AppleReactNative', () => App)

Ответ 6

Убив все остальные node процессы для меня то есть. ps -ef | grep node найти этот процесс и

pkill -f node

чтобы убить процессы