我在本机响应中收到以下错误-fontFamily“ ionicons”不是系统字体,并且尚未通过Font.loadAsync加载。
我正在尝试导入博览会矢量图标。
import { Ionicons } from '@expo/vector-icons';
并使用图标
<Button transparent>
<Ionicons name="md-checkmark-circle" size={32} color="green" />
</Button>
但出现上述错误。
答案 0 :(得分:11)
在看了几个小时后,我发现了另一个可行的解决方案,这些代码应该可以工作,并且与示例和先前的出色答案相同。
如果您正在升级Expo,这可能是您的答案。
expo install
expo start -c
答案 1 :(得分:1)
库@expo/vector-icons
仅默认安装在通过expo init --
的模板项目上,它是expo软件包的一部分。
如果您使用react-native init
创建了项目,请改用react-native-vector-icons
安装
npm i react-native-vector-icons
react-native link react-native-vector-icons
用法
import Icon from 'react-native-vector-icons/Ionicons';
<Button transparent>
<Icon name="md-checkmark-circle" size={32} color="green" />
</Button>
OR
尝试在您的Font.loadAsync
中使用App.js
加载离子离子
async componentDidMount () {
await Expo.Font.loadAsync({
Ionicons: require('@expo/vector-icons/fonts/Ionicons.ttf'),
});
答案 2 :(得分:1)
如果无法使用node_modules
,请确保您没有安装expo-font
的多个版本。
expo-font
中删除node_modules/expo/node_modules/expo-font/
。 expo-font
移除node_modules/expo/package.json
依赖性列表。 expo r -c
有关详细信息Expo cannot load a font due to multiple versions of expo-font
installed。
答案 3 :(得分:0)
在Iconicons
中添加loadAsync
为我解决了这个错误。
async componentDidMount () {
await Expo.Font.loadAsync({
Ionicons: require('@expo/vector-icons/fonts/Ionicons.ttf'),
});
答案 4 :(得分:0)
我通过删除代码中的<Icon\>
标签解决了这个问题。
仅保留<Ionicons\>
个图标标签后,我就被保存了。
答案 5 :(得分:-1)
我已通过expo upgrade
解决了此问题,以防其他人看到。