React Native - Expo:fontFamily“SimpleLineIcons”不是系统字体,尚未通过 Font.loadAsync 加载

2024-02-24

所以我在 Android 设备/模拟器上收到此错误:

另一方面,在 iOS 上,它编译得很好,并且simple-line-icons都可以正确显示。

我正在运行最新版本的expo。

我的package.json:

{
  "name": "FamScore3",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "react-native-scripts": "1.14.0",
    "jest-expo": "^31.0.0",
    "react-test-renderer": "16.3.1"
  },
  "main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
  "scripts": {
    "start": "react-native-scripts start",
    "eject": "react-native-scripts eject",
    "android": "react-native-scripts android",
    "ios": "react-native-scripts ios",
    "test": "jest"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@firebase/auth": "^0.7.6",
    "@firebase/database": "^0.3.6",
    "axios": "^0.18.0",
    "metro-react-native-babel-preset": "^0.45.0",
    "expo": "^31.0.4",
    "firebase": "^5.5.1",
    "react": "16.5.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-31.0.1.tar.gz",
    "react-native-elements": "^0.19.1",
    "react-native-material-dropdown": "^0.11.1",
    "react-native-router-flux": "^4.0.1",
    "react-redux": "^5.0.7",
    "redux": "^4.0.0",
    "redux-thunk": "^2.3.0"
  }
}

我的应用程序.json:

{
  "expo": {
    "sdkVersion": "31.0.0"
  }
}

我在 App.js 中的 Font.loadAsync 方法在文档中实现:

export default class App extends Component {

  state = {
    fontLoaded: false
  }

  async componentDidMount() {
    try {

      await Font.loadAsync({
        amaticBold: require('./assets/fonts/amaticSC-Bold.ttf'),
        indieFlower: require('./assets/fonts/indieFlower.ttf'),
        'Material Icons': require('@expo/vector-icons/fonts/MaterialIcons.ttf'),
        'simple-line-icons': require('@expo/vector-icons/fonts/SimpleLineIcons.ttf')

      })

      this.setState({ fontLoaded: true })

    } catch (error) {
      console.log('error loading fonts', error);
    }

  }

  render() {
    const store = createStore(reducers, {}, applyMiddleware(ReduxThunk))

    if (!this.state.fontLoaded) {
      return <AppLoading />
    }

    return (
      <Provider store={store}>
        <Router />
      </Provider> 
    )
  }
}

预先非常感谢。任何帮助将非常感激! 我已经被困了一段时间了。


我遇到了同样的问题,并在这个错误上浪费了很多时间。现在是 2021 年,有更好的方法来做同样的事情,所以不要使用下面的代码

Font.loadAsync({
    'MyAwesomeFont': require('./path/to/MyAwesomeFont.ttf')
})

正确的方法是

import { useFonts } from 'expo-font';
import AppLoading from 'expo-app-loading';

  let [fontsLoaded] = useFonts({
    'open-sans': require('./assets/fonts/OpenSans-Regular.ttf'),
    'open-sans-bold': require('./assets/fonts/OpenSans-Bold.ttf'),
  });
  if (!fontsLoaded) {
    return <AppLoading />;
  }

如果您想进一步解释,请查看官方文档here https://docs.expo.dev/develop/user-interface/fonts/#use-a-custom-font

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React Native - Expo:fontFamily“SimpleLineIcons”不是系统字体,尚未通过 Font.loadAsync 加载 的相关文章

随机推荐

  • Angular Material Table 基于数据源对象数组属性大小的行跨列

    即使现在在 Angular Material 7 2 版本中 我似乎也找不到有关如何在 mat table 上使用 rowspan 并保留组件功能的示例 这是我有多远 短 https stackblitz com edit angular
  • 在KeyPress事件中获取KeyCode值

    如何修复此错误 System Windows Forms KeyPressEventArgs 不包含定义 对于 KeyCode 并且没有扩展方法 KeyCode 接受第一个 System Windows Forms KeyPressEven
  • Spring Boot“不是一个实体”

    我是 Hibernate 和 SpringBoot 的新手 我的项目涉及一个搜索引擎 该引擎由 2 个独立模块 1 个两者共用的基本模块组成 其中IndexSetup类驻留 有一个用于索引的模块 JavaFx 另一个用于通过 Web 浏览器
  • “财产有 ivar 支持”?这在技术上意味着什么?

    所以 我对 Objective C 还很陌生 拿一些 iTunes U corses 做一些练习等等 但是当您使用 synthesize myProperty myIvarPropertyNameToUse 时 iOS 5 将创建一个 iv
  • 替换 javascript 数组中的字符串

    我有一个 JavaScript 数组 该数组包含包含逗号 的字符串 我希望从此数组中删除所有逗号 这可以做到吗 Yes for var i 0 i lt arr length i arr i arr i replace g
  • CSS 模块 @import 未能通过 Jest 测试套件

    我正在使用 Jest 和 Enzyme 来测试我的应用程序 我收到错误 FAIL app containers Navbar NavbarContainer test js Test suite failed to run app comp
  • 在 Perl 中读取文件时如何跳过行?

    我怎样才能做到这一点 open FILE somefile foreach
  • 为每根树枝设置翻译域

    我有一些树枝包括需要翻译的文本 目前我把这句话放在每根树枝上 trans default domain AcmeTopBundle 不过 这有点麻烦 有没有一种好方法可以为一个地方的每根树枝设置默认域 可以在原来的基础上写一个自定义的节点访
  • 没有自动换行的多行 UILabel?

    是否有可能有一个UILabel由多个组成 n 分隔行的行宽度 gt 标签宽度被截断而不是换行 假设我有一些如下所示的文本 这是一个非常长的第一行文本 太长而无法水平放置 短线 又一条短线 我希望这个出现在我的UILabel像这样 1 Thi
  • 无法导出 const 箭头函数

    ES6 新手 我试图制作一个像这样的 React 简单功能组件 Todo jsx export default const Todo todos onTodoClick gt ul todos map todo i gt li gt onT
  • 将 ArrayList 转换为 JSON - Android

    我有一个数组列表和一个单独的字符串 我想将它们转换为 JSON 格式并期望它低于 json 格式 预期格式 last sync date 2014 06 30 04 47 45 recordset contact group guid y3
  • 在 Rstudio 中使用 gtsummary 计算缺失值的百分比

    我的问题有点类似于这个one https stackoverflow com questions 63640473 calculate percent from total observations in r gtsummarytbl su
  • XSl:Variable - 检查值是否存在的条件

    使用XSLT 1 0 如何检查变量中的值是否存在 我最初从 XML 数据将值分配给变量 然后需要检查它是否存在
  • 查找数组的最大切片 | JavaScript

    我需要找到包含不超过两个不同数字的数组的最大切片 这是我的数组 1 1 1 2 2 2 1 1 2 2 6 2 1 8 我对此的思考过程是找到不重复的数字并在新数组中返回它们的索引 这是我到目前为止所拥有的 function goThrou
  • 在 Python 的 sqlite3 中使用外键

    我正在编写一个通过 python 创建 sqlite3 数据库的程序 我有一个作者表 AuthorID Name 和第二个图书表 BookID Title AuthorID 我创建的这些表如下所示 Authors sqlite3 conne
  • Twitter Bootstrap 3.0 行比窗口宽

    我正在摆弄 Twitter Bootstrap 并注意到我的 row比屏幕长度更宽 这里是example http bootply com 90307 当 bootstrap 3 0 出来时我没有经历过这个 右侧的额外空间来自margin
  • 如何检测WKWebView中的hash变化?

    我有一个使用 javascript 的网站 它使用 Angular 来控制您在网站上看到的内容 所以http somewebsite com page1 http somewebsite com page1显示 当您单击位置更改为的选项卡时
  • 用于计算矩阵指数的 C++ 库

    对于实现矩阵指数计算的库有什么建议吗 Expokit http www maths uq edu au expokit 用 Fortran 编写 但可以嵌入 C 中 它工作得很好 并且包含稀疏矩阵的优化算法
  • 如何检查文件是否包含纯文本?

    我有一个装满文件的文件夹 我想搜索其中的一些字符串 问题是有些文件可能是 zip exe ogg 等 我可以以某种方式检查它是什么类型的文件 所以我只打开并搜索 txt PHP 等文件 我不能依赖文件扩展名 使用Python的mimetyp
  • React Native - Expo:fontFamily“SimpleLineIcons”不是系统字体,尚未通过 Font.loadAsync 加载

    所以我在 Android 设备 模拟器上收到此错误 另一方面 在 iOS 上 它编译得很好 并且simple line icons都可以正确显示 我正在运行最新版本的expo 我的package json name FamScore3 ve