ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70%Забронировать скидку

Решаем ошибку 'Application not registered' в React-Native

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для устранения ошибки проверьте, что имя, указанное в методе AppRegistry.registerComponent, идентично названию вашего проекта. Название должно совпадать в файлах index.js, и в нативном коде для разных платформ (AppDelegate.m для iOS, MainActivity.java для Android):

JS
Скопировать код
AppRegistry.registerComponent('ВашеНазвание', () => App);

Замените 'ВашеНазвание' на имя вашего проекта для обеспечения целостности.

Если ошибка повторяется, выполните полную перезагрузку сервера разработки:

  • Остановите Metro Bundler.
  • Проведите сброс кэша с помощью npm start -- --reset-cache.
  • Завершите все текущие процессы React-Native или Node: ps aux | grep react-native.
  • В целом проверьте установку зависимостей с помощью команды npm install или yarn.

Перезапустите проект с помощью команды react-native run-ios или react-native run-android, убедившись, что активен только один bundler.

Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Синхронизация названия проекта в React-Native

Необходимо убедиться в том, что все части системы используют одно и то же имя проекта. Это обеспечит стабильность работы.

Настройка основ

На этапе инициализации проекта react-native init вы задаете имя проекта. В случае внесения изменений, синхронизируйте все записи.

  • Измените moduleName в файле "AppDelegate.m" для iOS или метод getMainComponentName в "MainActivity.java" для Android.
  • Проверьте корректность экспорта компонентов.
  • Проверьте корректность именования и заключение в кавычки импортированных из сторонних источников модулей.

Удаление всякого несоответствия

При наличии несоответствий важно устранить их для запуска приложения:

  • Очистите папку сборки и перекомпилируйте проект.
  • Выполните проверку пути к серверу пакетов.
  • Завершите все запущенные launchPackager.command на macOS.
  • Дополнительно проверьте порты, которые использует сервер React-Native.

Следуйте описанным выше шагам для успешного запуска.

Metro Bundler и синхронизация процессов

Перечислим некоторые нюансы, связанные c процессами и проектом React-Native:

  • При проведении изменений необходимо перезапустить Metro Bundler, чтобы сбросить кэш.
  • Закрывайте все предыдущие экземпляры bundler'а, чтобы избежать конфликтов на портах.

Не запускайте параллельно несколько экземпляров Node, чтобы избежать перегрузки одних и тех же ресурсов.

Поддержка сообщества

Если у вас возникают трудности, обратитесь к ресурсам и сообществу React-Native:

  • В официальном репозитории проблем можно найти ранее решенные вопросы.
  • На форумах и в Reddit проводятся обсуждения по React-Native, которые могут оказаться полезными.

Визуализация

Представьте, что ваше приложение React-Native, это астронавт (👩‍🚀), готовящийся к полету на ракете (🚀). Имя "AppName" должно точно совпадать с названием зарегистрированного приложения!

👩‍🚀 входит в 🚀, если приложение App правильно зарегистрировано.

👩‍🚀 не может войти, если название App неверно или его вообще нет!

Таким образом, ошибка React-Native: "Приложение 'AppName' не зарегистрировано" — это как забыть включить астронавта в список экипажа (название приложения) в index.js и в нативном коде.

Проверка здоровья приложения React-Native

Берегите здоровье вашего приложения:

  • Используйте react-native doctor для обнаружения конфигурационных ошибок.
  • Применяйте инструменты статического анализа кода для предотвращения непредсказуемого поведения приложения.
  • Внедряйте непрерывную интеграцию (Continuous Integration, CI) для снижения риска ошибок при развертывании.

Действия в экстренных ситуациях

Если с приложением возникли серьезные проблемы, вот ваш путь к решению:

  1. Начните свой проект заново и переместите туда свой код.
  2. Попросите коллег провести код-ревью для выявления скрытых проблем.
  3. Проверьте нативные зависимости и при необходимости проведите их ручное связывание.

Используйте последнюю версию react-native-cli для доступа к самым новым обновлениям!

Полезные материалы

  1. Введение в React Native — официальное руководство для начинающих.
  2. Ответы на вопросы на GitHub — сборник решений для типичных проблем.
  3. Статья на Medium — подробное описание механизма AppRegistry.
  4. Reddit — место обсуждения и советов по React-Native.
  5. AppRegistry в React Native — документация API для AppRegistry.
  6. Обзор RWieruch — инструкция по настройке среды React-Native.