поскольку expo 34.0.0 обновление шрифтов больше не загружается, вы знаете, как я могу это исправить? - PullRequest
0 голосов
/ 14 октября 2019

У меня есть проект expo 30, и шрифты (значки fontello) загружаются успешно через 3 месяца. Я повторно открываю проект перед обновлением expo, и шрифты не загружаются, даже если я создаю новый проект, шрифты не загружаются (у меня уже есть)изменил импорт с import { Font } from 'expo'; на import * as Font from 'expo-font';) вот закуска с проблемой https://snack.expo.io/@emmalv/bold-banana

Любопытно, что в expo-cli, когда я запускаю один и тот же код и печатаю состояние загрузки, сначала возвращаем false и передtrue и сразу показывает красный экран, говорящий, что шрифт не был загружен через Font.loadAsync

Я попытался переписать все в классе приложения вместо загрузки шрифтов из другого файла, и поведение такое же

Другая вещь, которую я пробовал, как новая документация говорит, используйте expoAssetId

const expoAssetId = require("assets/fonts/custom-icon-font.ttf");
const Icon = createIconSetFromFontello(fontelloConfig, 'FontName', expoAssetId);

, но я получаю еще одну ошибку

C.replace is not a function. (In 'C.replace(/\.(otf|ttf)$/,'')', 'C.replace' is undefined)

Ожидаемое поведение иконки загружаются и отображаются правильно Actualповедение при загрузке сгенерировать исключение 'fontFamily "../assets/fonts/sowaicons" не является системным шрифтом и не был загруженгрубый Font.loadAsync. 'и показать квадрат вместо значка

Окружающая среда

  • Windows 10
  • SDK Версия: 35.0.0,
  • экспо: ^ 35.0.0 ",
  • шрифт экспо: ~ 7.0.0

1 Ответ

1 голос
/ 14 октября 2019

Я создал рабочий пример: https://snack.expo.io/@djalik/custom-fonts

измените код CustomIcon:

import { createIconSetFromFontello } from '@expo/vector-icons';
import fontelloConfig from '../assets/fonts/config.json';
// const ttf = require("../assets/fonts/sowaicons.ttf");
// import myfont from "../assets/fonts/sowaicons.ttf";
const Icon = createIconSetFromFontello(fontelloConfig, 'sowaicons'); 

и замените this.state.setState ... на this.setState

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...