首页 > 解决方案 > 如何从按钮的值中获取对象?

问题描述

我在对象数组上使用 map 方法来创建一个按钮:

arrayOfObjects.map(obj => ( 
  <button value={obj} onClick={handleClick} key={obj._id}>
    {obj.name}
  </button>

在哪里:

const handleClick = ({ target }) => {
  const obj = target.value
  onClick(obj) // this onClick is a prop from another React function component
}

如何获取对象本身?有了这个,我得到以下信息: onClick 方法将设置我的组件的状态,但这不是我想要的

标签: javascripthtmlreactjs

解决方案


您可以使用对象包装 handleClick 函数:

const handleClick = (obj) => () => {
  onClick(obj) 
}

和按钮:

arrayOfObjects.map(obj => ( 
  <button onClick={handleClick(obj)} key={obj._id}>
    {obj.name}
  </button>

推荐阅读