解决React遍历每次渲染多个根元素导致无法为元素赋值key的问题

遍历时,存在多个根标签,如果使用<></>无法正确赋值key,代码如下:

js 复制代码
function App() {
	const list = [
		{ id:1, name:"小明" },
		{ id:2, name:"小田" },
		{ id:3, name:"小王" }
	]
	const listContent = list.map(item => (
		<>
			<li>{item.name}</li>
			<li>-----------</li>
		</>
	))
	return (
		<ul>{listContent}</ul>
	)
}

使用Fragment可以解决

js 复制代码
import { Fragment } from "react"

function App() {
	const list = [
		{ id:1, name:"小明" },
		{ id:2, name:"小田" },
		{ id:3, name:"小王" }
	]
	const listContent = list.map(item => (
		<Fragment key={item.id}>
			<li>{item.name}</li>
			<li>-----------</li>
		</Fragment>
	))
  
	return (
		<ul>{listContent}</ul>
	)
}
相关推荐
唐小码7 分钟前
裁员的风刮到了三线荒凉的城市
前端
晚安日记wanna19 分钟前
React 为何不做双端 diff?Vue 与 React 更新逻辑的三层差异
前端·react.js·面试
flash俊杰22 分钟前
AI 分段引擎与自动剪辑决策:从语义片段到时间线草稿的映射
前端·ai编程
flash俊杰34 分钟前
时间线交互引擎:从像素到帧的逆向映射与磁吸网格
前端
光影少年34 分钟前
setImmediate 和 setTimeout(0) 的区别
android·前端·react.js·ios·前端框架
flash俊杰37 分钟前
LLM 结构化输出的契约化工程:JSON Mode、Schema 约束与重试降级
前端·ai编程
༄久梦༒长醉༻38 分钟前
AI面试助手:本地运行,一键备战
前端·ai编程
Web4Browser41 分钟前
浏览器指纹逆向到底在分析什么:从 JavaScript 采集、Canvas 与 WebGL 到环境一致性校验
java·服务器·前端
2601_9583529042 分钟前
不改PCB也能调拾音方向?真相在这。
前端·嵌入式硬件·回声消除·语音模块·降噪处理
zhanghaha13141 小时前
HTML系列教程:17_HTML 框架(frameset、frame、iframe)零基础详解
前端·html