Expo:没有为提供的活动注册本机启动画面。请将应用程序的主 Activity 配置为调用“SplashScreen.show”

Jho*_*dio 9 javascript android typescript react-native expo

未处理的承诺拒绝:错误:没有为给定的视图控制器注册本机启动屏幕。首先为给定的视图控制器调用“SplashScreen.show”。(https://github.com/expo/expo/tree/main/packages/expo-splash-screen#-configure-android)。

启动应用程序时,我仅在 Android 模拟器上收到以下警告。

我的 Expo SDK 是 47,React Native 版本是 0.70.5。

应用程序.tsx

import React, { useCallback } from 'react';
import {ThemeProvider} from 'styled-components'

import { View } from 'react-native';

import { Routes } from './src/routes';
import { AppProvider } from './src/hooks';

import * as SplashScreen from 'expo-splash-screen';
import * as Font from 'expo-font';

import { 
  Roboto_300Light,
  Roboto_400Regular,
  Roboto_500Medium,
  Roboto_700Bold,
 } from '@expo-google-fonts/roboto';

SplashScreen.preventAutoHideAsync();

export default function App() {
  
  const [fontsLoaded] = Font.useFonts({
    Roboto_300Light, Roboto_400Regular, Roboto_500Medium, Roboto_700Bold
  })

  const onLayout = useCallback(async () => {
    if(fontsLoaded){
      await SplashScreen.hideAsync();
    }
  }, [fontsLoaded])


  if(!fontsLoaded){
    return null;
  }

  return (
    <View style={{flex:1}} onLayout={onLayout}>
      <ThemeProvider theme={theme}>
        <AppProvider>
          <Routes />
        </AppProvider>
      </ThemeProvider>
    </View>
  )
}
Run Code Online (Sandbox Code Playgroud)

此警告当前显示在 Android 版本中。iOS 运行良好。

Han*_*sen -1

您遵循Expo模块安装了吗?

https://docs.expo.dev/bare/installing-expo-modules/

这是我的问题。