reactjs - 使用 .map() 方法在 React.js JSX 渲染中获取元素 ID
问题描述
我正在使用 react 开发应用程序,
const getButtonId=(num)=>{
let click_detect=document.getElementById('div_'+num)
console.log(click_detect)
}
this.state.users.map(i=>{
return(
<button id={'div_'+i.id} onClick={(i.id)=>this.getButtonId(i.id)}>
Click Me
</button>
)
})
所以每次我点击按钮时,我都会得到null
. 这是为什么?如果我希望所有按钮都有不同的 id,我应该在这里做什么?
解决方案
尝试这个:
const getButtonId = (id) => console.log("Button ID:", id);
this.state.users.map((user, index) => (
<button key={index} onClick={() => this.getButtonId(user.id)}>
Click Me
</button>
))
推荐阅读
- javascript - 在javascript中获取对象值不起作用
- java - 如何从链表的中间元素中找到第二个元素?
- reactjs - Gatsby - gatsby-plugin-categories 的 Graphql 错误“未由 MarkdownRemarkFieldsFilterInput 类型定义”
- javascript - 如何在 Javascript 中获取 PC 中的操作系统版本
- php - PHP - 从贝宝返回商家时未获取交易信息
- ios - 无法使用“(RemoteConfigValue)”类型的参数列表调用“String”类型的初始化程序
- javascript - 如何向POS Receipt添加新字段/如何继承js文件
- ansible - 用于在 vCenter 服务器中运行命令或运行证书管理器的 Ansible 模块
- java - 如何在 Java 中缓存具有可变参数(Varargs)的函数的结果
- odbc - 无法使用 Teradata 与数据源建立连接。缺少设置:{[DBCName]}