Topic de loyyePrintf :

[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`.

https://image.noelshack.com/fichiers/2024/19/4/1715283837-capture-d-e-cran-2024-05-09-a-15-43-17.png

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é https://image.noelshack.com/fichiers/2017/05/1485992280-risitassuicidelarme.png

Avez vous des idées ???????????? :(

Montre les import dans ton fichier
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...

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 default Component" il faut "import Component from ..."
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 à petit

Tu cerneras l'erreur

Y'a que ça à faire, ça me rend fou ptn. J'ai peut être 40 composants et 50 files à check https://image.noelshack.com/fichiers/2017/05/1485992280-risitassuicidelarme.png

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 :rire:

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 :rire:

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 https://image.noelshack.com/fichiers/2017/05/1485992280-risitassuicidelarme.png

Update : RecordingProviderContext est une partie du problème. Merci @[OwO] https://image.noelshack.com/fichiers/2017/12/1490295454-jesuslove.png
  • 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
En ligne sur JvArchive 249