You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中onClick传递map唯一ID时出现undefined问题求助

问题解决:React map渲染按钮onClick传参为undefined的问题

问题核心是变量名冲突:你在data.map((e) => ...)里把数组项命名为e,但按钮的onClick={(e) => ...}又把事件对象也命名为e,内层的事件对象e直接覆盖了外层的数组项e,导致e._id访问的是事件对象的_id属性(这个属性不存在,所以输出undefined)。

解决方法很简单,把map回调里的数组项变量名改成其他名称,比如item:

修改后的map渲染代码:

{data.map((item) => ( 
  <li key={item._id}> 
    <button
      onClick={(e) => onSubmit(e, item._id)}
      className="btnx btn-primary"
    >
      Book Now logout
    </button> 
  </li> 
))}

你的onSubmit函数无需改动,现在val会正确接收每个项的_id,event.preventDefault()也能正常执行,console.log(val)就能输出预期的唯一ID了。

内容的提问来源于stack exchange,提问作者George Prethesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 06:15:44