reactjs - 在 SetState 函数中访问外部参数
问题描述
我无法访问 setState 函数中的 onClick 参数。
const [tableData, settableData] = useState({ tableDataList: [] });
const deleteRow = (rowId) => {
settableData(tData => {
//I have to access rowId to delete row with rowid from tData here
return tData;
});
}
. .
//This button is inside a table. Present in all rows
<button className="btn-dark" onClick={() => deleteRow(rowId)}>DELETE</button>
任何人都可以帮助我访问 setState 函数中的 rowId 吗?
解决方案
您必须使用 JavaScript 中的普通数组方法进行过滤。一个例子是过滤器方法,它可以帮助您根据您喜欢的过滤方式过滤数组。
以下示例将过滤数组,返回所有项,除了与 rowId 匹配的项,返回一个没有删除项的新数组:
tableData.tableDataList.filter(item => item.id !== rowId)
完整的示例必须如下所示:
settableData(tData => {
return tData.tableDataList.filter(item => item.id !== rowId);
});
推荐阅读
- android - 2 日期选择器作为 android 中的微调器
- arrays - 在堆上创建一个结构数组,并为所有成员分配内存
- javascript - 单击时切换按钮背景颜色
- python - 过滤数据框中至少一行满足条件的所有行
- excel - Excel VBA - 从具有 11000 多行和 53 列的数据透视表中获取数据
- sql - 我用“EXCEPT”错了吗?(SQL)
- javascript - 我正在使用引导程序,除工具提示外一切正常
- docker - 在 docker run 上找不到快递
- database - 在颤动中打开具有不同适配器的蜂巢盒
- database - 数据库如何将 VARCHAR 保存在文件中