React Top-Level API

React.Children

React.Children提供一系列处理this.props.children的工具。

React.Children.map

1
React.Children.map(children, function[(thisArg)])

children中每个直接子元素调用函数,thisArg指向这个元素。若children为有序片段或数组则会遍历执行函数:不会传入容器对象到函数中。若childrennullundefined,则返回值为nullundefined,而非数组。

React.Children.forEach

1
React.Children.forEach(children, function[(thisArg)])

类似React.Children.map,但是不返回数组。

React.Children.count

1
React.Children.count(children)

返回children中组件总数,与React.Children.forEachReact.Children.map回掉函数执行次数一致。

React.Children.only

1
React.Children.only(children)

返回children中唯一的子元素,否则抛出异常。

React.Children.toArray

1
React.Children.toArray(children)

children转换成扁平的数组结构并返回,并给每个子集都会附上key属性。
这个方法十分实用:在render函数中操作children集合,特别是对this.props.children重新排序。

注:
React.Children.toArray()改变了每个子集的key,用来保留子集的嵌套语义。