一、片段(fragments)
片段(fragments) 可以让你将子元素列表添加到一个分组中,并且不会在DOM中增加额外节点
。
1、片段长什么样?
render() {
return (
<React.Fragment>
<ChildA />
<ChildB />
<ChildC />
</React.Fragment>
);
}
2、为什么会用片段?
看下面例子:
class Columns extends React.Component {
render() {
return (
<div>
<td>Hello</td>
<td>World</td>
</div>
);
}
}
class Table extends React.Component {
render() {
return (
<table>
<tr>
<Columns />
</tr>
</table>
);
}
}
为了渲染有效的 HTML , <Columns />
需要返回多个<td>
元素。如果 <Columns />
的 render() 函数里面使用一个父级 div ,那么最终生成的 HTML 将是无效的,像下面这样:
在 <Table />
组件中的输出结果:
<table>
<tr>
<div><!--增加了多余的div标签,且让html无效-->
<td>Hello</td>
<td>World</td>
</div>
</tr>
</table>
所以,我们介绍 Fragment。
3、使用片段
我们使用 片段 改写上面例子。
class Columns extends React.Component {
render() {
return (
<React.Fragment>
<td>Hello</td>
<td>World</td>
</React.Fragment>
);
}
}
class Table extends React.Component {
render() {
return (
<table>
<tr>
<Columns />
</tr>