font-family“ ionicons”不是系统字体,并且尚未通过Font.loadAsync加载

时间:2020-01-11 06:42:20

标签: android react-native expo native-base

我正在使用基于本机的UI框架进行react-native。我一次又一次遇到相同的错误,即使我在项目的任何地方都没有使用“ Ionicons”。我试图删除node_modules并运行npm install,但是没有用。
我还在github here上尝试了本机团队提供的示例解决方案。还有世博会的解决方案 在Using custom fonts - Expo上。 enter image description here 但是对我没有任何帮助。
在尝试了不同的方法之后,原来没有加载本机库使用的自定义字体。我试图通过Font.loadAsync加载它,但是它不起作用。

import * as Font from 'expo-font';
import { AppLoading } from 'expo';
import React, { Component } from 'react';
import App from '../App.js';

const roboto = require('../../assets/fonts/Roboto.ttf');
const robotoMedium = require('../../assets/fonts/Roboto_medium.ttf');
const ionicons = require('../../assets/fonts/Ionicons.ttf');

export default class Setup extends Component {
  constructor() {
    super();
    this.state = {
      isReady: false,
    };
  }

  componentWillMount() {
    this.loadFonts();
  }

  async loadFonts() {
    try {
      await Font.loadAsync({
        Roboto: roboto,
        Roboto_medium: robotoMedium,
        Ionicons: ionicons,
      });
      this.setState({ isReady: true });
    } catch (e) {
      console.log(e);
    }
  }

  render() {
    if (!this.state.isReady) {
      return <AppLoading />;
    }
    return <App />;
  }
}

0 个答案:

没有答案