Я сталкиваюсь с проблемой при работе с приложением
После сканирования QR-кода с мобильного телефона появляется ошибка:
Failed to call into JavaScript module method HMRClient.setup().
Module has not been registered as callable.
Registered callable JavaScript modules (n = 0).
Did you forget to call registerCallableModule?
js engine: hermes
Судя по всему, модуль не был зарегистрирован для вызова. Количество зарегистрированных модулей составляет ноль. Я думаю, что забыл вызвать registerCallableModule, но не знаю, как это исправить.
Есть ли у кого-то такой опыт? Как правильно зарегистрировать JavaScript модуль, чтобы он стал доступен для вызова?
Я использую движок Hermes для выполнения JavaScript кода.
Та же фигня была с кастомными модулями в RN. HMRClient стартует раньше, чем модули успевают загрузиться. Попробуй отрубить Fast Refresh в настройках разработчика - с hermes часто конфликтует. Еще проверь metro.config.js, может там трансформеры конфликтуют. Если ничего не поможет - временно выключи hermes в build.gradle, посмотри пропадет ли проблема.
Проблема может быть в порядке инициализации. Убедись, что ты вызываешь registerCallableModule до того, как пытаешься использовать модуль. Также проверь, правильно ли указываешь имя модуля. Какой у тебя стек технологий и версия Hermes?
Классическая проблема с React Native и HMR. Обычно Fast Refresh не может подключиться к Metro bundler. Попробуй перезапустить Metro сервер: npx react-native start --reset-cache, потом пересобери приложение. Если не поможет - удали и переустанови приложение, это очистит кеш телефона.