React native 是否可以将标记包装到变量中?

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是组件

我有一个我想重用的组件,在不同的情况下,我想用不同的图标来标记“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
是一个字符串,而不是一个组件,