为什么要使用 React. Children. map( props. children,( )=>)而不是props. children. map ( (  ) => )?

因为不能保证 props. children将是一个数组。

以下面的代码为例。

<Parent>
<h1>有课前端网</h1>
</Parent>

在父组件内部,如果尝试使用 props.children. map映射子对象,则会抛出错误,因为props. children是一个对象,而不是一个数组。

如果有多个子元素, React会使 props.children成为一个数组,如下所示:

<Parent>
<h1>有课前端网</h1>
<h2>前端技术学习平台</h2>
</Parent>
不建议使用如下方式,在这个案例中会抛出错误。
class Parent extends Component {
 render ( ) {
 return (
<div> { this .props.children.map (obj = > obj ) }</div>
)
} 
}

建议使用如下方式,避免在上一个案例中抛出错误。

class Parent extends Component  {
render ( ) {
  return (
<div> { React.Children.map ( this .props.children, obj => obj) }</div>
)
}
}
  • 暂无回复内容