为什么组件子项包含在道具“this.props.children”下,而不是直接作为“this.children“

  • 本文关键字:children this 包含 props 组件 reactjs
  • 更新时间 :
  • 英文 :


我是React的新手,在我看来,子组件与道具是不同的。从框架设计的角度来看,把孩子包括在this.props中有好处吗?

有几个优点。

  1. 它将组件接收到的所有内容都保存在props下。这是一个认知负荷问题;发送到由其父级的render函数(或DOM.render)定义的组件的任何内容都具有相同的属性:props
  2. 它使componentWillReceiveProps中的比较更简单,因为更改props.children并不是对state的更改,而是会导致组件重新渲染。必须查看newProps和其他一些属性可能很容易混淆开发人员,并阻止简单的属性枚举,如for...of循环获取更改
  3. 它减少了组件api。如果使用了this.children,则它是组件不能用于自身的又一个属性。把它放在props.children下意味着api只接受生命周期方法propssetStatestate

最新更新