@artemphrog

В чем разница между аргументами bind()?

class Block extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      info: 12
    };
  }

  handleClick() {
    console.log(this.state.info);
  }

  render() {
    return (
      <div onClick={this.handleClick.bind(Block)}>Info</div>
    );
  }
}


Если в this.handleClick.bind() передать this - все работает, если Block, название класса, - нет, почему?
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Потому, что нужно передавать экземпляр класса, а не его конструктор
Ответ написан
@DrWeyber
По хорошему байнд нужно прописать в конструкторе, а в onClick={handleClick}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Artezio Санкт-Петербург
от 160 000 до 220 000 ₽
01 мар. 2021, в 09:29
1 руб./за проект
01 мар. 2021, в 09:20
50 руб./за проект