0

所以这基本上是我的代码

import { Ionicons } from '@expo/vector-icons';

class DrawerItem extends React.Component {
    render() {
        return (
            <Ionicons name="speedometer" size={14} color="green" />
        )
    }
}

我正在尝试使用一个名为 的图标speedometer,如Ionicons 文档中所示。但是,取而代之的是一个问号?,我收到以下错误:

Warning: Failed prop type: Invalid prop `name` of value `speedometer` supplied to `Icon`, expected one of ["ios-add","ios-add-circle","ios-add-circle-outline","ios-airplane","ios-alarm","ios-albums","ios-alert","ios-american-football","ios-analytics","ios-aperture","ios-apps","ios-appstore","ios-archive","ios-arrow-back","ios-arrow-down","ios-arrow-dropdown","ios-arrow-dropdown-circle","ios-arrow-dropleft","ios-arrow-dropleft-circle","ios-arrow-dropright","ios-arrow-dropright-circle"...

该错误向我显示了我可以使用的名称,但没有任何意义,因为 Ionicons 文档提到有一个名为speedometer.

我发现的另一件事是该特定图标未出现在Expo Vector Icons 文档中。

但是,我想添加它。有什么方法可以包含 Ionicons 库中的所有图标?

4

2 回答 2

1

您必须以这种方式导入图标:

import { MaterialCommunityIcons } from '@expo/vector-icons';
<MaterialCommunityIcons name="speedometer" size={24} color="black" />
于 2020-11-26T21:33:37.323 回答
0

正如你所说Ionicons,不包含speedometer图标。而是使用ios-speedometer.

如果您真的想要那个特定的图标,我建议您下载 SVG 并使用例如react-svgr(或任何其他 svg jsx 工具)将其转换为独立组件

不要忘记安装 react-native-svg :) 您现在可以使用普通导入来导入图标。

例如import SpeedometerIcon from './icons/Speedometer.js'

于 2020-11-26T21:36:41.803 回答