React中使用<>渲染多元素时,如何正确定义key属性?
React列表渲染中Fragment添加key的正确方式
你遇到的问题根源在于React的短语法Fragment(<>)不支持设置key属性,必须改用完整的<React.Fragment>标签来实现——这样既不会额外添加DOM元素破坏布局,又能满足React对列表项key的要求。
修改后的代码如下:
someArray.map(item => <React.Fragment key={item.id}> <p>{item.Name}</p> <p>{item.Value}</p> </React.Fragment> )
需要注意的细节:
key的值必须是当前列表项的唯一标识,比如数据自带的id字段,不要用数组索引作为key(除非你的列表永远不会进行排序、新增或删除操作),否则可能引发组件状态异常或不必要的重渲染。- 如果项目未自动导入React,需要在文件顶部手动添加
import React from 'react';,否则React.Fragment会报错。
内容的提问来源于stack exchange,提问作者Spook
相关产品推荐
相关产品推荐

