【发布时间】:2019-06-15 19:18:01
【问题描述】:
在https://www.npmjs.com/package/react-native-ionicons 中,我们提供了两种加载ios 和android 图标的方法。我用@expo/vector-icons v9.0.0 尝试了这两种方法。
我用这个语句导入 Ionicons:
import { Ionicons } from '@expo/vector-icons';
- 从名称中删除 ios/md
<Ionicons name="close-circle" size={25} style={{color: 'white'}} />
我收到以下错误,其他图标名称也会发生:
警告:失败的道具类型:价值封闭圈的道具名称无效 提供给 Icon,应为 ...
- 如果我改为传递 ios/android 属性,则图标不会显示,也不会收到警告,例如:
<Ionicons ios="ios-close-circle" android="md-close-circle" size={25} style={{color: 'white'}} />
我当前的修复基于How can I create cross platform icon in react native?。我用:
<Ionicons name={${Platform.OS === "ios" ? "ios" : "md"}-close-circle} size={25} style={{color: 'white'}} />
有没有更简单的方法?
谢谢!
【问题讨论】:
-
如果你传递
ios和android属性,你应该使用import Ionicons from 'react-native-ionicons'。你在做这个吗? -
我正在使用 expo,所以我需要使用
import { Ionicons } from '@expo/vector-icons';来加载矢量图标库。我猜它的行为方式与 react-native-ionicons 不同? -
react-native-ionicons 的文档说您应该使用颜色属性而不是样式设置颜色。
-
@YMami 如果你想使用
ios和android属性,你需要使用react-native-ionicons,然后使用你给我们的链接中描述的包 -
@2pha 感谢您的评论,但这不是我的问题
标签: javascript react-native expo react-native-vector-icons vector-icons