Expo React Native项目在我的项目中使用自定义谷歌字体和AppLoading时出现错误.提前感谢您的支持.



这是我得到的问题->expo-app-loading已弃用,而支持expo-splash-screen:请使用SplashScreen.preventAutoHideAsync()和splashscreen . hideasync()代替。https://docs.expo.dev/versions/latest/sdk/splash-screen/下面是我的App.js文件

import { StatusBar } from 'expo-status-bar';
import { useEffect, useState } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import AppLoading from 'expo-app-loading';
import { useFonts } from 'expo-font';
import Menu from './Src/Menu';
import { Roboto_400Regular, Roboto_500Medium, } from '@expo-google-fonts/roboto'
export default function App() {
let [fontsLoaded] = useFonts({
Roboto_400Regular,
Roboto_500Medium,
});
if (!fontsLoaded) {
return <AppLoading />;
}
return (
<NavigationContainer>
<Menu />
</NavigationContainer>
);
} 
import { StatusBar } from 'expo-status-bar';
import { useEffect, useState, useCallback } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import * as Font from 'expo-font';
import * as SplashScreen from 'expo-splash-screen';
import { Roboto_400Regular, Roboto_500Medium } from '@expo-google-fonts/roboto';
import Menu from './Src/Menu';

export default function App() {
const [appIsReady, setAppIsReady] = useState(false)
useEffect(() => {
(async () => {
try {
await SplashScreen.preventAutoHideAsync();
await Font.loadAsync({ Roboto_400Regular, Roboto_500Medium });
}
finally { setAppIsReady(true) }
})();
}, []);
const onLayout = useCallback(() => {
if (appIsReady) {
SplashScreen.hideAsync();
}
}, [appIsReady]);
if (!appIsReady) {
return null;
}
return (
<NavigationContainer>
<Menu />
</NavigationContainer>
);
}

应该可以。确保你运行了"npm i @expo/configure-splash-screen"并安装@expo-google-fonts/roboto"在重新加载应用程序之前,检查字体中是否有拼写错误。