У меня есть прослушиватель onKeyPress для моего входного компонента. В настоящее время onKeyListener что-то печатает при нажатии клавиши ввода.
Это текущий код
onKeyPress = {this.onHitEnter.bind(this)}/>
onHitEnter = (e) => {
if (e.key === 'Enter') {
console.info()
}
Теперь я хочу отправить некоторые дополнительные параметры методу onHitEnter. Я пытался это сделать, но это не сработало
Это то, что я пробовал
onKeyPress = {this.onHitEnter.bind(this, item, item.id, item.index)}/>
onHitEnter = (e, item, id, index) => {
if (e.key === 'Enter') {
console.info("enter")
console.info(id)
}
Как я могу отправить эти дополнительные параметры в метод onHitEnter?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Когда вы используете привязку с дополнительными аргументами, она помещает дополнительные аргументы первыми, а объект события - последним.
function foo (a, b, event) {
console.info(arguments)
}
document.querySelector("button").addEventListener("mousedown", foo.bind(this, "a", "b"))<button>Foo</button>поэтому вам нужно будет переупорядочить свои аргументы
onHitEnter = (item, id, index, e)
Я бы порекомендовал привязать вашу функцию в другом месте.
вы можете получить нужные данные, используя это сокращенное выражение, поскольку вы используете es6:
onKeyPress = {e => this.onHitEnter(e, item, item.id, item.index)}/>
выражение определяет аргументы, которые вы хотите передать во время события.
посмотрите здесь