我不断收到此错误:error screenshot
这是我用来导入我的自定义谷歌字体的代码:
import React, { useState } from "react";
import Home from "./screens/home";
import { View } from "react-native";
import * as Font from "expo-font";
import { AppLoading } from "expo";
const getFonts = () =>
Font.loadAsync({
"poppins-regular": require("./assets/fonts/Poppins-Regular.ttf"),
"poppins-bold": require("./assets/fonts/Poppins-Bold.ttf"),
});
export default function App() {
const [fontsLoaded, setFontsLoaded] = useState(false);
if (fontsLoaded) {
return <Home />;
} else {
return (
<AppLoading startAsync={getFonts} onFinish={() => setFontsLoaded(true)} />
);
}
}
这是我的 Json 包:{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"expo": "~40.0.0",
"expo-splash-screen": "^0.8.1",
"expo-status-bar": "~1.0.3",
"react": "16.13.1",
"react-dom": "16.13.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-40.0.1.tar.gz",
"react-native-web": "~0.13.12"
},
"devDependencies": {
"@babel/core": "~7.9.0"
},
"private": true
}
我似乎无法找到错误或修复它。我之前用另一个项目做过这个,它奏效了。获取字体信息是完全一样的。我唯一能想到的是我的包裹可能是过时的自动取款机?但我不确定要更新哪个包。有人可以帮忙吗?
最佳答案
我可以从您的 package.json 中看到您在 expo SDK 40(截至目前的最新版本)
AppLoading 已从 SDK 40 中的 expo 包中提取
如果你想使用这个组件,你应该运行 expo install expo-app-loading 并从它自己的包中导入 AppLoading: import AppLoading from 'expo-app-loading';。这是使 expo 包尽可能轻巧的持续努力的一部分。
查看世博博客here.
脚步:
第 1 步: expo install expo-app-loading
第 2 步:
替换 import { AppLoading } from "expo";
来自 import AppLoading from 'expo-app-loading';
第 3 步:重启你的世博开发服务器(世博启动)
关于javascript - 我无法在我的 React Native 上使用 apploading。它不会正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65261890/