React native “Expo fontFamily”错误;“物质共同体”;不是系统字体,未通过font.loadAsync加载

React native “Expo fontFamily”错误;“物质共同体”;不是系统字体,未通过font.loadAsync加载,react-native,expo,React Native,Expo,我升级到expo 34.0.3和相关依赖项,如下所示 "dependencies": { "@expo/samples": "3.0.3", "@expo/vector-icons": "^10.0.3", "add": "^2.0.6", "expo": "^34.0.3", "expo-asset": "^5.0.1", "expo-font": "~6.0.1", "moment": "^2.24.0", "react": "

我升级到expo 34.0.3和相关依赖项,如下所示

"dependencies": {
    "@expo/samples": "3.0.3",
    "@expo/vector-icons": "^10.0.3",
    "add": "^2.0.6",
    "expo": "^34.0.3",
    "expo-asset": "^5.0.1",
    "expo-font": "~6.0.1",
    "moment": "^2.24.0",
    "react": "16.8.3",
    "react-native": "https://github.com/expo/react-native/archive/sdk-34.0.0.tar.gz",
    "react-native-gesture-handler": "^1.3.0",
    "react-native-modal": "^11.3.1",
    "react-native-modal-datetime-picker": "^7.5.0",
    "react-native-snackbar-component": "^1.1.0",
    "react-navigation": "^3.11.1",
    "react-redux": "^7.1.0",
    "redux": "^4.0.4",
    "redux-persist": "^5.10.0"
  },
我的App.js大概正确地预加载了字体,就像这样

  import * as Font from 'expo-font';
  import * as Icon from '@expo/vector-icons';

   .........


  _loadResourcesAsync = async () => {
    return Promise.all([
      Font.loadAsync({
        ...Icon.Ionicons.font,
        ...Icon.MaterialCommunityIcons.font,
      }),
    ]);
  };
现在需要明确的是,在世博会升级之前,该代码运行良好。 这个问题在Android和iOS设备上都可以看到


升级后,我删除了warn.lock(我正在使用warn)并删除了node_模块,从而解决了这个问题。 然后再次安装运行纱线

在此过程中,我还升级了expo cli、node,并使用expo_codemod处理与升级相关的代码更改。 我还需要“expo安装”软件包,这些软件包像react native手势处理程序一样被移出


我想对我来说,关键是删除锁文件,并通过expo start-c清除缓存

我已经通过在终端中使用以下命令修复了这个问题


rm-rf./node\u modules/expo/node\u modules/expo font/

首先确保使用正确的路径加载脚本,如下所示:

//加载字体
等待Font.loadAsync({
…Ionicons.font,
“space mono”:要求(../assets/fonts/SpaceMono Regular.ttf”),
ionicons:require(“@expo/vector icons/build/vendor/react native vector icons/font/ionicons.ttf”),
anticon:require(“@expo/vector icons/build/vendor/react native vector icons/font/AntDesign.ttf”),
“材料社区”:要求(@expo/vector icons/build/vendor/react native vector icons/Fonts/MaterialCommunityIcons.ttf”),

});谢谢你指出,我已经把世博会降级到33.0,一切都和以前一样。非常感谢你!我做到了:ncu-u&npm安装显然版本中有一个bug:(新版本工作正常)@use expo/font^1.0.1→ ^2.0.0世博会~36.0.0→ ~37.0.6 expo font~8.0.0→ ~8.1.1.4.3.6→ ^4.3.7反应导航堆栈^2.3.10→ ^2.3.11但react navigation v4.x中也存在一个错误,该版本的字体系列带有expo字体,修复了我的Ioniccons字体错误