Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我能';不要在我的电脑上使用apploading。它不能正常工作_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 我能';不要在我的电脑上使用apploading。它不能正常工作

Javascript 我能';不要在我的电脑上使用apploading。它不能正常工作,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我不断地发现这个错误: 以下是我用来导入自定义谷歌字体的代码: import React, { useState } from "react"; import Home from "./screens/home"; import { View } from "react-native"; import * as Font from "expo-font"; import { AppLoading } from &qu

我不断地发现这个错误:

以下是我用来导入自定义谷歌字体的代码:

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)} />
    );
  }
}
我似乎找不到错误,也无法修复它。我以前在另一个项目中做过这件事,它成功了。获取字体信息的方法完全相同。我唯一能想到的就是我的包裹可能已经过时了?但我甚至不确定该更新哪个软件包


有人能帮忙吗?

我可以从您的package.json中看到您正在使用expo SDK 40(目前最新版本)

应用已从SDK 40中的expo软件包中提取

如果要使用此组件,应运行expo安装expo应用程序加载并从其自己的包导入应用程序:从“expo应用程序加载”导入应用程序加载;。这是使世博会包装尽可能轻的持续努力的一部分

查看世博会博客

步骤:
步骤1:
expo安装expo应用程序加载

第二步:

替换“expo”中的
导入{AppLoading}

通过
从“expo应用程序加载”导入应用程序加载


步骤3:重新启动expo-dev服务器(expo-start)

您必须在font.loadAsync

前面添加return关键字,谢谢!它不再给我错误。然而,当我在expo上运行它时,它并没有在我的手机上加载任何东西。它在我的终端中给了我这个错误:加载时,AppLoading抛出了一个意外错误:错误:如果startAsync被提供,则需要AppLoading onError prop。你知道我应该在这里做什么吗?自从新的expo更新以来,这是我的异步语法吗?你能给我解释一下到底发生了什么吗?还有一些代码会很好:)我想出来了!我必须使用新应用程序的语法!我只需要添加onError={console.warn}。谢谢你的帮助!我很感激
{
  "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
}