考虑一下像titles个这样的 list .

const titles = [
  <Title>Home</Title>,
  <Title>Search</Title>,
  <Title>Library</Title>,
  <Title>Profile</Title>,
];

如果我有map本这样的书:

titles.map((title, index) => title);

我不能给他们key分.为此,我创建了KeyableShell.

function KeyableShell(props: KeyableShellProps) {
  const { children } = props;
  return <>{children}</>;
}

这样我就可以:

titles.map((title, index) => (
  <KeyableShell key={index}>{title}</KeyableShell>
));

有比我的解决方案更好的办法吗?

推荐答案

这可能就是你要找的--

https://react.dev/reference/react/Fragment#rendering-a-list-of-fragments

官方文件中的示例

function Blog() {
  return posts.map(post =>
    <Fragment key={post.id}>
      <PostTitle title={post.title} />
      <PostBody body={post.body} />
    </Fragment>
  );
}

Reactjs相关问答推荐

当我在React中使用类方法更新模型的状态时,它在严格模式下触发两次

导致类型错误的调度不是函数";

在react中向数组状态添加值时出错

useTranslation不会在languageChanged上重新呈现组件

在React Create App TS项目中安装material UI

Reaction-Query&-使用Mutation触发成功,而应该触发错误

这两个子元素在Reaction Native中使用的有什么不同?

滚动视图样式高度没有任何区别

如何在next.js 13中仅在主页导航栏上隐藏组件?

React - 函数组件 - 点击两次问题处理

如何在不使用 Axios 的情况下将图像文件从 React.js 发送到 Spring Boot Rest API?

如何到达类组件中的状态?

为什么刷新页面时我的localStorage PET值变成空字符串?

React - 拖放 UML

如何在 ReactJS 中提交后删除 URL 中的查询参数

将 ref 转发到所有页面(路由组件)只是为了将其应用于
并具有跳过导航链接(按钮).有没有更好的办法?

下一次导出:未捕获的语法错误:标识符注册表已被声明

使用 react-router-dom 时弹出空白页面

错误:无效挂钩调用.钩子只能在函数组件的主体内部调用.使用 next/router 时

调用函数以获取数据并在数据到达时导航到链接