Как запустить 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');
....
}