我有 5 个可点击的链接,每个链接都有唯一的 ID。我正在尝试获取被点击的链接的 ID。我尝试了两种方法,但都不能如我所愿。
内部渲染我有:
this.state.data.map((dynamicData, key) =>
<a href={"/#/template"} id={dynamicData.id} onClick={() => this.reply_click(this.id)}>{dynamicData.name}</a>
<a href={"/#/addTeams"}><button type="button" class="btn-lisa">Edit</button></a>
返回未定义的基本方法。我究竟做错了什么?:
reply_click(clicked_id) {
console.log(clicked_id);
}
使用箭头函数将维护this
来自外部的上下文,这不是this
您想要的。您可以尝试改用常规函数 ( function () { }
),但我不确定是否this
会是您想要的。
但是,您绝对可以使用e.target.id
来获得您想要的东西:
onClick={e => this.reply_click(e.target.id)}
也就是说,您真的应该避免在事物内部创建函数,因为它会产生严重的性能问题。最好创建一个函数并将其传入:
// somewhere above
const handleClick = e => this.reply_click(e.target.id);
// attribute
onClick={handleClick}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句