2015-06-14 2 views
0

У меня есть вложенный список в React. Элементы LI имеют обработчик события onClick. Он должен прекратить распространение, иначе все обработчики событий с высшим ярусом будут стрелять.Реагировать событие: получить ключ И предотвратить распространение события

Я могу это сделать, имея:

<li key='myKey' onClick={this.onClick}/> 

в сочетании с

onClick (event) { 
    event.preventDefault() 
} 

Я также могу передать ключ, выполнив:

<li key='myKey' onClick={this.onClick.bind(this, 'myKey'}/> 

Но как я могу передать ОБА?

Я искал долго, но не нашел способ извлечь ключ из события.

+1

При связывании дополнительные аргументы, они предваряются с нормальными аргументами, так, например, 'onClick (ключ, событие)'. См. ['Function # bind' docs] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind). –

+0

@BinaryMuse Да !!! Вы сделали мой день! Если вы сделаете этот ответ, я могу принять его как – Alex

ответ

1

попробовать что-то вроде этого:

<li 
    key={key} 
    onClick={e => { 
    e.preventDefault(); 
    // invoke your onClick callback here 
    this.handleOnClick(key); 
    }} 
/> 
Смежные вопросы