Fragments

Fragments 允许将子列表分组,而无需向 DOM 添加额外节点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Table extends React.Component {
render() {
return (
<table>
<tr>
<Columns />
</tr>
</table>
);
}
}

class Columns extends React.Component {
render() {
return (
<div>
<td>Hello</td>
<td>World</td>
</div>
);
}
}
1
2
3
<Columns />需要返回多个 <td> 元素以使渲染的 HTML 有效。
如果在 <Columns /> 的 render() 中使用了父 div,
则生成的 HTML 将无效。
1
2
3
4
5
6
7
8
9
10
class Columns extends React.Component {
render() {
return (
<React.Fragment>
<td>Hello</td>
<td>World</td>
</React.Fragment>
);
}
}
1
这样可以正确的输出 <Table />

还可以用更骚的新的短语法来声明Fragments,
你可以像使用任何其他元素一样使用 <> </>,除了它不支持 key 或属性。

1
2
3
4
5
6
7
8
9
10
class Columns extends React.Component {
render() {
return (
<>
<td>Hello</td>
<td>World</td>
</>
);
}
}

请注意 目前许多工具尚不支持 ,所以直到工具支持之前,你可能要显式的使用 <React.Fragment>。

PenZ wechat
交个朋友吧
点滴分享,您的支持将极大的鼓励我!