@Dasslier
FrontEnd Developer

Как правильно пробросить пробросить props в state?

Как правильно пробросить props в state?
Я использую синтаксис полей классов и делаю это так:
state = {
  text: this.props.text
};

Тут услышал мнение от одного разраба, что это неправильно, типа "this должен находиться внутри не статического метода" и нужно инициализировать в конструкторе. Он прав? state каким боком к этому относится, это же не метод?
  • Вопрос задан
  • 455 просмотров
Решения вопроса 1
miraage
@miraage
Старый прогер
Тут услышал мнение от одного разраба, что это неправильно, типа "this должен находиться внутри не статического метода" и нужно инициализировать в конструкторе. Он прав?


Всё верно. Только он не понимает, что такая запись не является статической, и после транспайла окажется в конструкторе.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
constructor(props){
super(props)
this.state={
  text: this.props.text
}
}

это как должно быть. Но если работает и ваш метод то почему бы его не использовать ?))))
Ответ написан
Вообще классы такое себе, есть React Hooks. Там нет необходимости писать this в принципе.
Ответ написан
@real2210
Вообще по логике нужно использовать props напрямую, в стейте хранитсе только то, что может поменяется в процессе работы самого компонента при таких же props
Ответ написан
Ваш ответ на вопрос

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

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