@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, название класса, - нет, почему?
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Потому, что нужно передавать экземпляр класса, а не его конструктор
Ответ написан
@DrWeyber
По хорошему байнд нужно прописать в конструкторе, а в onClick={handleClick}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
summer Ярославль
от 100 000 до 140 000 ₽
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект