首页 > 解决方案 > 如何从函数中获取价值

问题描述

我正在尝试调用“handleClick”发送数组的索引,如下所示:

{citas.map((cita, i) => (
    <tr className='clickable-row' onClick={handleClick.bind(i)} >
         <td>{cita.CheckIn}</td>
         <td>{cita.CheckOut}</td>
         <td>{cita.Precio}</td>
         <td>{cita.Servicio}</td>
    </tr>
 ))}

这是 handleClick 方法:

const handleClick = (i) => {
    console.log(i)
    history.push("/citasDetalladas/" + ids[i]);
}

问题是“i”不是应该的(数组索引),因为它打印了这个: 在此处输入图像描述

标签: javascriptreactjs

解决方案


bind方法的第一个参数是this值。第二是传递给函数的第一个参数:

onClick={handleClick.bind(null, i)}

您也可以使用箭头函数创建新函数:

onClick={() => handleClick(i)}

推荐阅读