reactjs – 在使用es6类的React中,“super()”和“super(props)”之间有什么区别?

什么时候通过道具到super()很重要,为什么?

class MyComponent extends React.Component {
  constructor(props) {
    super(); // or super(props) ?
  }
}
只有一个原因,当一个需要传递道具到super():

当你想在构造函数中访问this.props。

(这可能是多余的,因为你已经有一个引用。)

传递或不传递道具到super对后来使用this.props没有影响。这是render,shouldComponentUpdate或事件处理程序总是有权访问它。

这在一个Ben Alpert的answer中明确地说到类似的问题。

文档-State and Lifecycle, Adding Local State to a Class, point 2-recommends:

Class components should always call the base constructor with props.

但是,没有提供理由。我们可以推测它是因为子类化或未来的兼容性。

(感谢@MattBrowne的链接)

http://stackoverflow.com/questions/30571875/whats-the-difference-between-super-and-superprops-in-react-when-using-e

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:reactjs – 在使用es6类的React中,“super()”和“super(props)”之间有什么区别?