React 组件的 return 只能有一个根元素,导致大家无奈包一层 div。这种无意义包裹会让 DOM 层级越来越深:列表里多套一层 div 破坏 grid/flex 结构,table 里包 div 甚至直接报错。Fragment 让组件返回元素组却不产生真实节点,结构完全透明。
两种写法:
import { Fragment } from 'react'; function Columns({ items }) { return ( <> <td>姓名</td> <td>操作</td> {items.map((item) => ( <Fragment key={item.id}> <td>{item.name}</td> <td><button>删除</button></td> </Fragment> ))} </> ); } function TableRow() { return ( <table><tbody><tr><Columns items={[{ id: 1, name: '张三' }]} /></tr></tbody></table> ); }