在数组中渲染 React 元素
Render React Element within Array
我有一个项目数组,由一个字符串和一个图标组件定义:
type MyItem = {
Title: string;
Icon: React.ElementType;
};
export const MyItems: MyItem[] = [
{ Title: "Inbox", Icon: InboxIcon },
{ Title: "Users", Icon: UserIcon },
{ Title: "Settings", Icon: SettingsIcon },
];
现在我想在组件中显示它们:
<>
{MyItems.map((item, index) => (
<h1>item.Title</h1>
// render icon component here: item.Icon
))}
</>
如何渲染图标组件(不改变数组结构)?
我猜你的图标本质上是 React 组件。如果是这样,那么您可以试试下面的代码:
<>
{MyItems.map((item, index) => (
<>
<h1>item.Title</h1>
{item.Icon}
</>
))}
</>
我有一个项目数组,由一个字符串和一个图标组件定义:
type MyItem = {
Title: string;
Icon: React.ElementType;
};
export const MyItems: MyItem[] = [
{ Title: "Inbox", Icon: InboxIcon },
{ Title: "Users", Icon: UserIcon },
{ Title: "Settings", Icon: SettingsIcon },
];
现在我想在组件中显示它们:
<>
{MyItems.map((item, index) => (
<h1>item.Title</h1>
// render icon component here: item.Icon
))}
</>
如何渲染图标组件(不改变数组结构)?
我猜你的图标本质上是 React 组件。如果是这样,那么您可以试试下面的代码:
<>
{MyItems.map((item, index) => (
<>
<h1>item.Title</h1>
{item.Icon}
</>
))}
</>