Javascript React事件处理程序、委托
我看了一些其他的帖子,但不明白 如果我有一个大桌子,每行有一个可点击的动作按钮Javascript React事件处理程序、委托,javascript,jquery,reactjs,events,event-delegation,Javascript,Jquery,Reactjs,Events,Event Delegation,我看了一些其他的帖子,但不明白 如果我有一个大桌子,每行有一个可点击的动作按钮 <tbody> <tr> <td><button onClick={this.handleClick}></button></td> </tr> </tbody> 我认为有三个不同的问题 是否有可能使用授权?是的,您可以在上设置单个事件处理程序,并检查事件.currentTarget. 为什么显示警告?这是因为事件
<tbody>
<tr>
<td><button onClick={this.handleClick}></button></td>
</tr>
</tbody>
我认为有三个不同的问题
上设置单个事件处理程序,并检查事件.currentTarget.
handleClick(event) {
setTimeout(() => {
alert(event.target.id);
}, 100);
}
你不能确定这是同一个事件。您应该立即存储所需的信息,然后再使用它
handleClick(event) {
let id_to_store = event.target.id;
setTimeout(() => {
alert(id_to_store);
}, 100);
}
因此,您可以使用委托,但最好不要等到它真正成为瓶颈 显示
handleClick
的操作定义。如果使用事件冒泡(委派),则将事件绑定到tbody。如何从单击的行传递数据?例如,行中的每个按钮都有一个在循环中生成的唯一id。如何使用react传递事件数据?与jquery world中的操作相同:设置一些属性(最好使用data-…=
符号来突出其用途),并从event.currentTarget.attributes中读取它
handleClick(event) {
let id_to_store = event.target.id;
setTimeout(() => {
alert(id_to_store);
}, 100);
}