由于 expo 34.0.0 更新字体不再加载,您知道我该如何解决吗?
since expo 34.0.0 update fonts doesn´t load anymore, do you know how can I fix it?
我有 expo 30 proyect 并且字体(fontello 图标)现在加载成功 3 个月后我在更新 expo 之前重新打开 proyect,即使我创建了一个新的 proyect 字体也没有加载
(我已经将导入更改为
import { Font } from 'expo';
到
import * as Font from 'expo-font';)
这是有问题的点心https://snack.expo.io/@emmalv/bold-banana
奇怪的是,在 expo-cli 中,当我 运行 相同的代码并首先打印加载状态时 return false 和 true 之前立即显示红屏,表示字体尚未加载通过 Font.loadAsync
我已经尝试在应用程序中设置所有内容 class 而不是从另一个文件加载字体并且行为是相同的
我试过的另一件事就像新文档所说的那样,使用 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)
预期行为
图标加载并正确显示
实际行为
加载时抛出异常 'fontFamily "../assets/fonts/sowaicons" is not a system font and has not been loaded through Font.loadAsync.' 并显示一个正方形而不是图标
环境
- Windows 10
- sdk版本:35.0.0,
- 世博会:^35.0.0",
- 博览会字体:~7.0.0
我创建了工作示例:
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
我有 expo 30 proyect 并且字体(fontello 图标)现在加载成功 3 个月后我在更新 expo 之前重新打开 proyect,即使我创建了一个新的 proyect 字体也没有加载
(我已经将导入更改为
import { Font } from 'expo';
到
import * as Font from 'expo-font';)
这是有问题的点心https://snack.expo.io/@emmalv/bold-banana
奇怪的是,在 expo-cli 中,当我 运行 相同的代码并首先打印加载状态时 return false 和 true 之前立即显示红屏,表示字体尚未加载通过 Font.loadAsync
我已经尝试在应用程序中设置所有内容 class 而不是从另一个文件加载字体并且行为是相同的
我试过的另一件事就像新文档所说的那样,使用 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)
预期行为 图标加载并正确显示 实际行为 加载时抛出异常 'fontFamily "../assets/fonts/sowaicons" is not a system font and has not been loaded through Font.loadAsync.' 并显示一个正方形而不是图标
环境
- Windows 10
- sdk版本:35.0.0,
- 世博会:^35.0.0",
- 博览会字体:~7.0.0
我创建了工作示例: 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