Когда уместно использовать конструктор в REACT? - PullRequest
0 голосов
/ 27 октября 2018

Я понимаю концепцию конструкторов в языках ООП, таких как C ++. Тем не менее, я не совсем уверен, когда использовать конструктор в REACT. Я понимаю, что JavaScript является объектно-ориентированным, но я не уверен, что конструктор на самом деле «конструирует».

При рендеринге дочернего компонента нужен ли конструктор в дочернем компоненте? Например:

class App extends React.Component {
   constructor(props) {
      super(props);
      this.state = {
         items: [],
         error: null
      }
    }
    render () {
       return (
          <React.Fragment>
             <ChildComponent data={this.state.items}></ChildComponent>
          </React.Fragment>
       )
    }
}

Я приведу пример для краткости. Но зачем вам нужен конструктор? И нужен ли вам конструктор в дочернем компоненте для реквизита?

Возможно, мои знания ES6 не соответствуют действительности.

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

Линке в вашем примере, полезно использовать конструктор, когда вам нужно инициализировать ваше состояние или связать какую-либо функцию-прослушивателя событий

  1. <element onClick={this.handler} />
  2. this.handler = this.bind.handler(this); внутри конструктора
0 голосов
/ 27 октября 2018

Если вы не инициализируете состояние и не привязываете методы, вам не нужно реализовывать конструктор для вашего компонента React.

Конструктор для компонента React вызывается перед его монтированием. При реализации конструктора для подкласса React.Component вы должны вызывать super (props) перед любым другим оператором. В противном случае this.props будет неопределенным в конструкторе, что может привести к ошибкам.

Как правило, в React конструкторы используются только для двух целей:

  • Инициализация локального состояния путем присвоения объекта this.state.
  • Привязка методов-обработчиков событий к экземпляру.

https://reactjs.org/docs/react-component.html#constructor

...