@undefined_title

Как правильно в es6 компоненте задать initial state?

class MyComponent extends Component {
  constructor() {
    super()
    this.state = { number: 0 }
  }
}

VS
class MyComponent extends Component {
  this.state = { number: 0 }
}

есть разница? какой вариант лучше использовать?
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
devellopah
@devellopah
если нет методов, которые нужно привязать в конструкторе, то можно и так

class MyComponent extends React.Component {

  static propTypes = {}

  static defaultProps = {}

  state = { number: 0 }

  componentDidMount() {}

  method1() {}

  // et cetera
}
Ответ написан
Комментировать
@UsulPro
Вот пример из официального руководства
class Clock extends React.Component {
  constructor(props) {
    super(props);
    this.state = {date: new Date()};
  }

  render() {
    return (
      <div>
        <h1>Hello, world!</h1>
        <h2>It is {this.state.date.toLocaleTimeString()}.</h2>
      </div>
    );
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы