Skip to content

Latest commit

 

History

History
32 lines (21 loc) · 1.01 KB

re-11.md

File metadata and controls

32 lines (21 loc) · 1.01 KB

为什么我们需要使用 React 提供的 Children API 而不是 JavaScript 的 map?

?> 英:Why would you use React.Children.map(props.children, () => ) instead of props.children.map(() => )

答:

props.children并不一定是数组类型,譬如下面这个元素:

<Parent>
  <h1>Welcome.</h1>
</Parent>

如果我们使用props.children.map函数来遍历时会受到异常提示,因为在这种情况下props.children是对象(object)而不是数组(array)。

React 当且仅当超过一个子元素的情况下会将props.children设置为数组,就像下面这个代码片:

<Parent>
  <h1>Welcome.</h1>
  <h2>props.children will now be an array</h2>
</Parent>

这也就是我们优先选择使用React.Children.map函数的原因,其已经将props.children不同类型的情况考虑在内了。

参考资料:

题目来源

翻译文章