font-family "ionicons" не является системным шрифтом и не был загружен через Font.loadAsync - PullRequest
1 голос
/ 11 января 2020

Я использую фреймворк пользовательского интерфейса для реактивного. У меня снова и снова появляется одна и та же ошибка, даже если я нигде не использую «Ionicons» в своем проекте. Я попытался удалить node_modules и запустить npm install, но это не сработало.
Я также попробовал пример решения, данного командой native-base, на github здесь . А также решение от Expo на Использование пользовательских шрифтов - Expo . введите описание изображения здесь Но у меня ничего не получилось.
После пробных попыток выяснилось, что пользовательские шрифты, используемые native-base, не загружаются. Я пытался загрузить его через 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 />;
  }
}
...