@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}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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