无法使用es6导入react-native-vector-icons

时间:2016-03-13 10:25:27

标签: ecmascript-6 react-native

我正在尝试在React Native中使用react-native-vector-icons和ES6,但遗憾的是我无法导入图标。他们的文档仍然使用旧的require语句,所以我认为它没有帮助。

这是我的导入:

import {Ionicons} from './node_modules/react-native-vector-icons/Ionicons.js';

这是我的用法:

<Ionicons name="ios-book" color="#4F8EF7" />

我收到的错误是:

Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.

很明显Ionicons未定义,所以我知道import语句的基础是错误的。

3 个答案:

答案 0 :(得分:4)

export PERL_UNICODE="SDA"

答案 1 :(得分:1)

import {x} from 'abc';转换为var x=require('abc').x,而不是var x=require('abc')

那么:

import * as Ionicons from './node_modules/react-native-vector-icons/Ionicons.js';

答案 2 :(得分:1)

我最终使用了一个import语句,如下所示:

import {default as Icon} from '../node_modules/react-native-vector-icons/Ionicons';

这是因为在我遵循@ Olivier的建议后,我最终得到了一个包含许多属性的对象,我不能只使用<Icon>作为组件,但我发现<Icon.default>工作

感谢所有回答的人!