Задать вопрос

Как в react в статическтм методе получить props?

Мне надо в статическом свойстве получить props. Почему я не могу получить props в статическом методе таким же способом как и в других методах?
Мой код:
class Field extends React.Component {
    
  static ifFieldNotEmpty() {
    const { fields } = this.props; // not works
    console.log(this);
  }
  
  render() {
    const { fields } = this.props; //  work fine
    
    return (
      <h2>render component</h2>
    );
  }
}
  • Вопрос задан
  • 270 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@Artcl
Потому что static работает с классом, а не с экземпляром.
В статическом методе нельзя обратиться к this.props, так как это относится к экземпляру.
Ответ написан
Комментировать
@MorozoW
В данном примере Вы делаете бессмысленную операцию - в статическом методе работаете с текущим контекстом экземпляра класса (контекст в данном случае наш this)
Для решения проблемы Вы должны либо передать props в качестве параметра статического метода, либо не работать с контекстом, либо работать только со статическими методами класса.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы