React native 是否可以将标记包装到变量中?
我有一个我想重用的组件,在不同的情况下,我想用不同的图标来标记“Entypo”和“AntDesign”。我想在类型属性上切换它们。以下是想法:React native 是否可以将标记包装到变量中?,react-native,jsx,React Native,Jsx,我有一个我想重用的组件,在不同的情况下,我想用不同的图标来标记“Entypo”和“AntDesign”。我想在类型属性上切换它们。以下是想法: const tag = type === 'home' ? 'Entypo' : 'AntDesign'; <{tag} name='someName' /> const tag=type=='home'?'Entypo':'AntDesign'; 但它没有通过。我有什么遗漏吗?或者有其他方法吗?如果Entypo和AntDesign是组件
const tag = type === 'home' ? 'Entypo' : 'AntDesign';
<{tag} name='someName' />
const tag=type=='home'?'Entypo':'AntDesign';
但它没有通过。我有什么遗漏吗?或者有其他方法吗?如果
Entypo
和AntDesign
是组件(例如从react native vector icons
导入),那么您应该可以这样做:
const Tag = type === 'home' ? Entypo : AntDesign;
<Tag name='someName' />
const Tag=type=='home'?Entypo:AntDesign;
这很有效!有趣的是,如果变量名是小写的“tag”而不是“tag”,那么它就不起作用了。如果标记名如示例中所示大写,请注意这不是唯一的区别,但是-在您的示例中,tag
是一个字符串,而不是一个组件,