@KOPC1886

Как правильно сделать на React?

Всем привет!!

class Test extends React.Component
{
  construcrot(props)
  {
    super(props);
    this.handleClick = (value) => this.handleClick.bind(this, value)
  }
  
  handleClick(object) {
    
  }
  
  render() {
    const objectTest = {
      id: 1,
      name: 'Test-1'
    }
  };
  }
    return (
      <div>
        <input type="button" onClick={this.handleClick(objectTest)}>
      </div>
    );
  }
}


Как правильно биндить метод, если в него надо передать аргумент?
Правильно ли я реализовал?
  • Вопрос задан
  • 321 просмотр
Решения вопроса 1
AppFA
@AppFA
Frontend developer at Yandex
Так:
return (
    <input type="button" onClick={ this.handleClick.bind(this, objectTest) } />
);

Вот пример:
https://jsfiddle.net/t3z1Lz83/1/
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
Этого должно быть достаточно.

this.handleClick = this.handleClick.bind(this)
Ответ написан
theWaR_13
@theWaR_13
Проще было бы сделать вообще вот так:

class Test extends React.Component
{ 
  handleClick = object => {
    
  }
  
  render() {
    const objectTest = {
      id: 1,
      name: 'Test-1'
    }
  };
  }
    return (
      <div>
        <input type="button" onClick={this.handleClick(objectTest)}>
      </div>
    );
  }
}
Ответ написан
Ваш ответ на вопрос

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

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