Ошибка импорта компонентов из react-native-webrtc в React Native

    При попытке импортировать компоненты из библиотеки react-native-webrtc возникает ошибка, связанная с некорректной регистрацией модуля или проблемами наследования классов.

    Пример импорта, вызывающего ошибку:

    import { RTCPeerConnection, RTCIceCandidate, RTCSessionDescription, RTCView, mediaDevices } from 'react-native-webrtc';

    Описание ошибки

    В консоли отображаются следующие сообщения:

    • TypeError: Super expression must either be null or a function, js engine: hermes
    • Invariant Violation: "main" has not been registered...

    Предпринятые действия

    Были выполнены следующие шаги для устранения проблемы, но они не привели к положительному результату:

    • Переустановка библиотеки
    • Пересборка проекта
    • Перезапуск Metro bundler

    Особенности ошибки

    Проблема воспроизводится даже в чистом проекте, содержащем только эту библиотеку. Это указывает на то, что ошибка не связана с конфликтами зависимостей или настройками конкретного приложения. Вероятная причина - несовместимость библиотеки с используемой версией JavaScript-движка Hermes или неправильная конфигурация сборки.

    Рекомендации по решению

    • Проверьте совместимость версии react-native-webrtc с версией React Native и движком Hermes в вашем проекте
    • Попробуйте временно отключить Hermes и использовать JavaScriptCore для тестирования: hermes.enabled = false в файле metro.config.js
    • Выполните полную очистку кэша Metro: npx react-native start --reset-cache
    • Проверьте файл package.json на наличие актуальной версии библиотеки
    • При необходимости рассмотрите альтернативные библиотеки для WebRTC в React Native