在 ES6 类中调用 super(props) 重要吗?

IT技术 reactjs ecmascript-6
2021-04-19 03:05:52

假设我有以下课程:

class Tabs extends React.Component {
  displayName: Tabs;

  static propTypes = {
  selected: React.PropTypes.number,
  children: React.PropTypes.oneOfType([
    React.PropTypes.array,
    React.PropTypes.element
  ]).isRequired
  };

  constructor() {
  super();
  this.state = {
    selected: 0,
    maxSelected: 0
  };

  render() {
    return(
      <div>
       {this.props.selected}
       {this.props.children}
      </div>
    );
  }
};

我想知道,如果传递以下构造函数很重要:

constructor(props) {
  super(props);
}

我当前的代码工作得很好,但我想知道这是否是一个好习惯。

1个回答

根据React 团队的 Sophie Alpert 的说法,如果您打算在this.props构造函数中使用,则只需要将 props 传递到构造函数中。构造函数被调用后,React 从外部将 props 附加到组件上。

@usama super(props) 在构造函数中是不必要的,除非你要在构造函数级别做一些工作。在 ES2015 中,每个类都有默认构造函数,因此没有必要有空的构造函数。
2021-05-26 03:05:52
我是新来的反应,你是说喜欢。如果我要在我当前的组件中使用 props,在这种情况下,我只需要在构造函数中使用 super(props) ?
2021-06-13 03:05:52