Sigo recibiendo este error que dice:
expo-app-loading está en desuso en favor de expo-splash-screen
Aquí está el código para mi pantalla de bienvenida en App.js
export default function App() { const [IsReady, SetIsReady] = useState(false); const LoadFonts = async () => { await useFonts(); }; if (!IsReady) { return ( <AppLoading startAsync={LoadFonts} onFinish={() => SetIsReady(true)} onError={() => {}} /> ); } SplashScreen.hideAsync(); setTimeout(SplashScreen.hideAsync, 2000); return ( <NavigationContainer style={styles.container}> <UserStack/> </NavigationContainer> ); }Está utilizando un paquete que ha quedado obsoleto por expo y tiene que cambiar a un paquete más reciente.
Elimine cualquier código que esté relacionado con el paquete expo-app-loading verifique esto y use expo-splash-screen en su lugar, verifique esto
Según la documentación de la exposición, debe intentar algo como esto, usando expo-splash-screen
import React, { useCallback, useEffect, useState } from 'react'; import { Text, View } from 'react-native'; import Entypo from '@expo/vector-icons/Entypo'; import * as SplashScreen from 'expo-splash-screen'; import * as Font from 'expo-font'; export default function App() { const [appIsReady, setAppIsReady] = useState(false); useEffect(() => { async function prepare() { try { // Keep the splash screen visible while we fetch resources await SplashScreen.preventAutoHideAsync(); // Pre-load fonts, make any API calls you need to do here await Font.loadAsync(Entypo.font); // Artificially delay for two seconds to simulate a slow loading // experience. Please remove this if you copy and paste the code! await new Promise(resolve => setTimeout(resolve, 2000)); } catch (e) { console.warn(e); } finally { // Tell the application to render setAppIsReady(true); } } prepare(); }, []); const onLayoutRootView = useCallback(async () => { if (appIsReady) { // This tells the splash screen to hide immediately! If we call this after // `setAppIsReady`, then we may see a blank screen while the app is // loading its initial state and rendering its first pixels. So instead, // we hide the splash screen once we know the root view has already // performed layout. await SplashScreen.hideAsync(); } }, [appIsReady]); if (!appIsReady) { return null; } return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }} onLayout={onLayoutRootView}> <Text>SplashScreen Demo! 👋</Text> <Entypo name="rocket" size={30} /> </View> ); } Primera instalación con expo install expo-splash-screen
También puede configurar su aplicación con una SplashScreen desde el principio con
npx create-react-native-app -t with-splash-screen.