Как запустить LogRocket в expo go : Нарушение инварианта: собственный модуль не может быть нулевым

При запуске LogRocket в expo go появляется эта ошибка:

      Invariant Violation: Native module cannot be null.
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:104:6 in reportException
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:172:19 in handleException
at node_modules/react-native/Libraries/Core/setUpErrorHandling.js:24:6 in handleError
at node_modules/expo-error-recovery/build/ErrorRecovery.fx.js:12:21 in ErrorUtils.setGlobalHandler$argument_0

1 ответ

На основе этого руководства https://docs.expo.dev/bare/using-expo-client/#use-conditional-inline-requires-to-provide-fallbacks

создайте файл LogRocketInit.js

      import Constants from 'expo-constants';
import { useEffect } from 'react';


export default function LogRocketInit() {
  useEffect(() => {
    if (Constants.appOwnership !== 'expo') {
      const LogRocket = require('@logrocket/react-native');
      LogRocket.init('****');
    }
  }, []);

  return null;
}

затем добавьте его в App.js как обычно

      export default function App() {
  return (
       ...
       <LogRocketInit />
       ...
}

если вам нужно использовать его в другом месте, используйте это

         if (Constants.appOwnership !== 'expo') {
      const LogRocket = require('@logrocket/react-native');
      ....
   }
Другие вопросы по тегам