Estoy aprendiendo a reaccionar de forma nativa y estaba importando una carga de aplicaciones para usar fuentes personalizadas. Obtuve este error:
Advertencia: React.createElement: el tipo no es válido: esperaba una cadena (para componentes integrados) o una clase/función (para componentes compuestos) pero obtuvo: indefinido. Probablemente olvidó exportar su componente desde el archivo en el que está definido, o puede haber mezclado las importaciones predeterminadas y con nombre.
mi aplicación.js
import React, { useState } from 'react'; import * as Font from 'expo-font'; import Home from './screens/Home'; import { AppLoading } from 'expo-app-loading'; const getFonts = () => Font.loadAsync({ 'nunito-regular': require('./assets/Fonts/Nunito-Regular.ttf'), 'nunito-bold': require('./assets/Fonts/Nunito-Bold.ttf'), }); export default function App() { const [fontsLoaded, setFontsLoaded] = useState(false); if (fontsLoaded) { return <Home />; } else { return <AppLoading startAsync={getFonts} onFinish={() => setFontsLoaded} />; } }mi Inicio.js
import React from 'react'; import { StyleSheet, View, Text } from 'react-native'; export default function Home() { return ( <View style={styles.container}> <Text style={styles.titleText}>Home Screen</Text> </View> ); } const styles = StyleSheet.create({ container: { padding: 24, }, titleText: { fontFamily: 'nunito-bold', fontSize: 18, }, });o es posible que haya mezclado importaciones predeterminadas y nombradas.
Este es el problema.
Importas esto:
import { AppLoading } from "expo-app-loading";Los documentos dicen que importe esto:
import AppLoading from 'expo-app-loading';