React.children有5个方法
- React.Children.map()
- React.Children.forEach()
- 和 map功能一样,就是没有返回值
- React.Children.count() 返回child个数
- 不能用 children.length 来计数,当children是字符串时,children.length 就是字符串的长度
- React.Children.only()
- 返回children中仅有的子级。否则抛出异常
- only方法接受的参数只能是一个对象,不能是多个对象(数组)
- React.Children.toArray()
- 将children转换成Array,对children排序时需要使用
React.Children.map(children, child => {
return React.cloneElement(child, { form });
})
如果当前组件没有子节点,children 就是 undefined
如果有一个子节点,children 数据类型是 object
如果有多个子节点,children 数据类型就是 array
用React.Children.map来遍历子节点,而不用担心this.props.children的数据类型是undefined还是object
- 将children转换成Array,对children排序时需要使用