一. 动机
以下的例子简洁清晰的反映了 fragments 的作用,在生产过程中,经常会遇到这种情况:
首先,是在 Table 组件中插入 Columns 组件:
因为 React 组件最外层需要一个元素包裹,如果这时使用div
标签包裹,那么最终生成的 HTML 将是无效的。
这时候Fragment
就派上用场了
1.1 使用
这时候,Table 组件就能被正确渲染如下:
1.2 简写语法
有一个新的,更短的语法可以用来声明片段(fragments)。他看起来像是空标签:
您可以像使用其他元素一样使用<></>
,只是它不支持 键(keys) 或 属性(attributes)。
注:目前很多工具都不支持这个简写语法,所欲可能需要明确地使用<React.Fragment>
,直到工具支持这个语法。
1.3 带 key 的片段(fragments)
<React.Fragment />
可以传递 key 值,如下:
注:key
是唯一可以传递给Fragment
的属性。在将来,可能会增加额外的属性,比如事件处理。