1
resposta

[Projeto] Solução: expo-app-loading is deprecated in favor of expo-splash-screen

Pessoal, pra quem estiver passando pelo problema "expo-app-loading is deprecated in favor of expo-splash-screen", da biblioteca "expo-app-loading" que ficou obsoleta, segue como eu consegui resolver o problema usando:

Removi a expo-app-loading do projeto:

npm uninstall expo-app-loading

E instalei a expo-splash-screen:

npm install expo-splash-screen

Meu código ficou como esse (App.js):

import { SafeAreaView, StatusBar, View } from 'react-native'
import { Montserrat_400Regular, Montserrat_700Bold } from '@expo-google-fonts/montserrat'
import Basket from './src/Screens/Basket/Basket'
import mocks from './src/Mocks/cesta'
import * as SplashScreen from 'expo-splash-screen'
import * as Font from 'expo-font'
import { useCallback, useEffect, useState } from 'react'

export default function App() {
  const [appReady, setAppReady] = useState(false)

  useEffect(() => {
    (async () => {
      try {
        await SplashScreen.preventAutoHideAsync()
        await Font.loadAsync({
          "MontserratRegular": Montserrat_400Regular,
          "MontserratBold": Montserrat_700Bold,
        })
      } catch (e) {
        console.warn(e)
      } finally {
        setAppReady(true)
      }
    })()
  }, [])

  const onLayout = useCallback(() => {
    if (appReady) {
      SplashScreen.hideAsync()
    }
  }, [appReady])

  if (!appReady) {
    return null
  }

  return (
    <SafeAreaView>
      <View onLayout={onLayout}>
        <StatusBar backgroundColor={'#e97cf1'} />
        <Basket {...mocks} />
      </View>
    </SafeAreaView>
  );
}

Obs.: Entenda a import da tela "Basket" no meu código como da Cesta (do Cesta.js)

Espero ter ajudado. Bons estudos.

1 resposta

Olá, Luis, tudo bem?

Primeiramente, gostaria de agradecer por compartilhar a sua experiência e a solução que encontrou para substituir o componente AppLoading, que foi descontinuado, no seu projeto em React Native. É ótimo ver que você está buscando soluções alternativas para manter o funcionamento correto do seu aplicativo.

Tenho certeza que sua sugestão vai ser útil para outros alunos que estejam tendo o mesmo problema. Compartilhar conhecimento e experiências é uma parte importante do aprendizado colaborativo, e sua contribuição ajudará a enriquecer a comunidade de estudantes.

Qualquer dúvida é so falar com a gente.

Bons estudos!