Правильно ли определять состояние как переменную (или свойство) внутри класса? - PullRequest
2 голосов
/ 24 сентября 2019

Я нашел в проекте с открытым исходным кодом такой класс

class ComponentName extends React.Component{
  state = {
    somestate here
  };

  render() {
    return <RenderedComponent value={somethings}>{some other things}</RenderedComponent>;
  }
}

Правильно ли определить state таким образом?Разве это не должно быть определено внутри конструктора класса?

Ответы [ 4 ]

3 голосов
/ 24 сентября 2019

Вам не всегда нужно определять конструктор для каждого класса.Поэтому, если вам не нужно определять конструктор, можно использовать состояние таким образом.

2 голосов
/ 24 сентября 2019

Да, это совершенно правильно, проверьте эту ссылку: https://github.com/the-road-to-learn-react/react-alternative-class-component-syntax

Вы можете сделать это обоими способами, в конструкторе или с помощью объявлений полей класса.

1 голос
/ 24 сентября 2019

Это новый синтаксис ES6.Он на 100% равен определению состояния без конструктора и определению состояния внутри конструктора.Так что не стесняйтесь писать так.Чтобы узнать больше об этом, проверьте их документацию.

1 голос
/ 24 сентября 2019

да, вы можете определить, как это, это экспериментальное состояние, которое работает подобно состоянию конструктора .

  • Единственное, вам нужно определить функцию стрелки вместо привязки (если используется экспериментальное состояние).

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

экспериментальное состояние

state = {
name: 'hello'

}

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

constructor(props) {
super(props);
this.state = {
  name: ': hey'
}
this.handleChange = this.handleChange.bind(this);

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...