在React 16.2中,增加了对片段的改进支持。更多信息可以在React的博客上找到
我们都熟悉以下代码:
render(){
返回(
//无关div元素:(
<;div>;
一些文本。
<;h2>;A标题<;/h2>;
更多文本。
<;h2>;另一个标题<;/h2>;
更多的文本。
<;/div>;
);
}
是的,我们需要一个集装箱部门,但没什么大不了的
在React 16.2中,我们可以这样做以避免周围的容器div:
render(){
返回(
<;碎片>;
一些文本。
<;h2>;A标题<;/h2>;
更多文本。
<;h2>;另一个标题<;/h2>;
更多的文本。
<;/Fragment>;
);
}
在这两种情况下,我们仍然需要一个容器元素包围内部元素
我的问题是,为什么使用片段更可取?它对性能有帮助吗?如果有,为什么?我想了解一下
- 它的速度稍微快一点,并且内存使用量更少(无需创建额外的DOM节点)。这只对非常大和/或很深的树有真正的好处,但应用程序性能通常会受到千次削减的影响。这是一次削减
- 一些FSS和CSS网格等CSS机制有一种特殊的亲子关系,在中间添加“代码> div s,使得在提取逻辑组件时很难保持期望的布局。
- DOM检查器不那么凌乱。:-)
您可以在这个React问题中找到一些其他用例的描述:添加片段API以允许从渲染返回多个组件