[DEV] Bug React Native Android
- 1
Salut les gars, je dev une App via React Native Expo. L'émulateur IOS fonctionne très bien, mais le coté Android me renvoie cette erreur :
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
Check the render method of `MainApp`.
Voici la MainApp :
export default function MainApp() {
const [isConnected, setIsConnected] = useState(true);
useEffect(() => {
const unsubscribe = NetInfo.addEventListener(state => {
console.log('Connection type', state.type);
console.log('Is connected?', state.isConnected);
setIsConnected(state.isConnected);
});
return () => {
unsubscribe();
};
}, []);
return (
<RecordingProvider>
<LoginContextProvider>
<LibraryProvider>
<NavigationContainer>
<Stack.Navigator screenOptions={{ headerShown: false }}>
{isConnected ? (
<>
<Stack.Screen name="AuthStack" component={AuthStack} />
<Stack.Screen name="AppTabs" component={AppTabs} />
<Stack.Screen
name="SoundtransformationStack"
component={SoundtransformationStack}
/>
<Stack.Screen
name="PdfViewerStack"
component={PdfViewerStack}
/>
</>
) : (
<Stack.Screen name="OfflineStack" component={OfflineStack} />
)}
</Stack.Navigator>
</NavigationContainer>
</LibraryProvider>
</LoginContextProvider>
</RecordingProvider>
);
}
J'ai cherché et tenté les trucs proposés sur google... bref... je suis désespéré
Avez vous des idées ????????????
Le 09 mai 2024 à 21:48:54 :
Montre les import dans ton fichier
import { NavigationContainer, useNavigation } from "@react-navigation/native";
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
import { createStackNavigator } from "@react-navigation/stack";
import Sign from "./src/Pages/Sign";
import HomePage from "./src/Pages/HomePage";
import Profile from "./src/Pages/ProfilePage";
import Library from "./src/Pages/Library";
import Selector from "./src/Pages/Selector";
import ForgottedPassword from "./src/Pages/ForgottedPassword";
import Offline from "./src/Pages/OfflineScreen";
import PdfViewer from "./src/Pages/MusicSheet";
import {
RecordingProvider,
useRecording,
} from "./src/Contexts/PartitionContext";
import { LoginContextProvider } from "./src/Contexts/LoginCtx.ios";
import { Image } from "react-native";
import React, { useEffect, useState } from "react";
import NetInfo from "@react-native-community/netinfo";
import { Dimensions } from "react-native";
import { LibraryProvider } from './src/Contexts/LibraryContext';
Si tu "export Component" if faut "import { Component } from ..."
Le 09 mai 2024 à 21:49:29 :
Il faut savoir que j'ai séparé (pour le responsive) chaque composant par : "FileName.android.tsx" OU "FileName.ios.tsx", afin de pouvoir appeler le composant en fonction de la plateforme...
Est ce que tu export toujours de la même manière ?
Vu tes imports il faut que tu "export default" dans la plupart de tes fichiers
Le 09 mai 2024 à 21:51:46 :
Le 09 mai 2024 à 21:49:29 :
Il faut savoir que j'ai séparé (pour le responsive) chaque composant par : "FileName.android.tsx" OU "FileName.ios.tsx", afin de pouvoir appeler le composant en fonction de la plateforme...Est ce que tu export toujours de la même manière ?
Vu tes imports il faut que tu "export default" dans la plupart de tes fichiers
Normalement oui, enfin je pense.. J'avoue m'être vraiment concentré sur le coté IOS et délaissé le coté Android. Je peux check ça
Le 09 mai 2024 à 21:50:21 :
Si tu "export default Component" il faut "import Component from ..."
Si tu "export Component" if faut "import { Component } from ..."
J'ai vu cette réponse sur StackOverflow, j'ai essayé mais aucune modification du message d'erreur. Normalement les composants sont "export default" et fonctionne très bien coté IOS. J'ai vraiment plus d'idée
Le 09 mai 2024 à 21:58:47 :
Le 09 mai 2024 à 21:50:21 :
Si tu "export default Component" il faut "import Component from ..."
Si tu "export Component" if faut "import { Component } from ..."J'ai vu cette réponse sur StackOverflow, j'ai essayé mais aucune modification du message d'erreur. Normalement les composants sont "export default" et fonctionne très bien coté IOS. J'ai vraiment plus d'idée
Dans ta fonction MainApp, dégage les composants 1 par 1 pour trouver ceux qui sont problématique
Une fois que t'as trouvé celui qui pose problème, va dans le fichier de ce composants et réduit les lignes de code petit à petit
Tu cerneras l'erreur
Le 09 mai 2024 à 22:00:47 :
Le 09 mai 2024 à 21:58:47 :
Le 09 mai 2024 à 21:50:21 :
Si tu "export default Component" il faut "import Component from ..."
Si tu "export Component" if faut "import { Component } from ..."J'ai vu cette réponse sur StackOverflow, j'ai essayé mais aucune modification du message d'erreur. Normalement les composants sont "export default" et fonctionne très bien coté IOS. J'ai vraiment plus d'idée
Dans ta fonction MainApp, dégage les composants 1 par 1 pour trouver ceux qui sont problématique
Une fois que t'as trouvé celui qui pose problème, va dans le fichier de ce composants et réduit les lignes de code petit à petitTu cerneras l'erreur
Y'a que ça à faire, ça me rend fou ptn. J'ai peut être 40 composants et 50 files à check
Le 09 mai 2024 à 22:04:24 :
tu as essayé de debug avec chatgpt/claude ? car je veux pas être méchant, j'ai pas lu, mais pour coder en react et utiliser l'IA au quotidien, peu importe ton erreur tu vas avoir une solution rapidement, compréhensible et claire de chatgpt/claude, par contre sur le 18 25 j'ai des doutes
Si je suis venu ici pour demander c'est que j'ai déjà tenté de debug via chatgpt / StackOverflow / gtihub issues. Je suis foutu
- 1
Données du topic
- Auteur
- loyyePrintf
- Date de création
- 9 mai 2024 à 21:46:48
- Nb. messages archivés
- 13
- Nb. messages JVC
- 13