今天下午在看一个开源库的源码的时候,发现了如下这段代码。很纳闷,感觉后面的forEach很多余,完全可以React.Children.map的第二个参数中完成这些操作,为什么要这样做呢?
React.Children.map(children, c => c).forEach(child => {
// ... 其他代码
})
后来又看了源码的其他部分发现,使用 React.Children.map 目的是为给children添加一个默认的key。实验了一下果然如此,在没有添加key的情况下,使用React.Children.map会默认给children添加key: .0、.1、.2 ……
