从表中获取特定 ID 客户 react-bootstrap-table2-toolkit

get spesific ID customer from tables react-bootstrap-table2-toolkit

我尝试从 table 获取客户 ID,然后我想将该 ID 用于请求我的 API。
但是我得到了 Stack,我对将客户 ID 传递给我的逻辑方法感到困惑 updateCustomer(customerId)deleteCustomer(customerId)


我的依赖版本:

    "react": "^16.5.2",
    "react-bootstrap-table": "4.1.5",
    "react-bootstrap-table-next": "^3.0.0",
    "react-bootstrap-table2-paginator": "^2.0.3",
    "react-bootstrap-table2-toolkit": "^1.3.1",

这是我在 ToolkitProvider 中的 :

{
              dataField: 'action',
              text: 'Action',
              formatter: (cell, row, rowIndex, formatExtraData) => { 
                  console.log(row);
                  const customerId = row._id;
                  return ( 
                    <div >
                      <span className="mr-1">
                        <a onClick={this.updateCustomer(customerId)} className="text-warning">update</a>
                      </span>
                      <span className="ml-1">
                        <a onClick={this.deleteCustomer(customerId)} className="text-danger">delete</a>
                      </span>
                    </div> 
                  )
                },
            }

我的逻辑方法只是为了测试用户id是否被接受:

  updateCustomer = (id) => {
    return alert('ok your id: '+id)
  }
  deleteCustomer = (id) =>{
    return alert('ok your id: '+id)

我的 Actions Tables 看起来像:

但是当我点击它时,我只会重复 提醒 与 table 中的客户数据一样多。



如何在我提供的方法中得到正确的ID? 我是斯塔克。

我希望你能帮助我, 谢谢:)

终于可以自己解决这个问题了。

我只是将 onClick={this.updateCustomer(customerId)} 更改为 onClick={() => this.updateCustomer(customerId)}

也许这意味着:"just run the function after the action"

{
              dataField: 'action',
              text: 'Action',
              formatter: (cell, row, rowIndex, formatExtraData) => { 
                  console.log(row);
                  const customerId = row._id;
                  return ( 
                    <div >
                      <span className="mr-1">
                        <a onClick={() => this.updateCustomer(customerId)} className="text-warning">update</a>
                      </span>
                      <span className="ml-1">
                        <a onClick={() => this.deleteCustomer(customerId)} className="text-danger">delete</a>
                      </span>
                    </div> 
                  )
                },
            }

我再也没有收到重复的提醒:)