【发布时间】:2021-06-17 11:19:33
【问题描述】:
我有一个功能组件,因为我有一个以对象为项目的数组状态。 现在我想删除特定位置的项目。
const [tasks, setTasks] = useState([
{ project: "aaaa", task: "xxxxx", status: true },
{ project: "bbbb", task: "yyyyz", status: true },
{ project: "cccc", task: "zzzzz", status: true }
]);
function addTask(task) {
setTasks(oldArray => [...oldArray, task]);
}
function deleteTask(pos) {
let _tasks = tasks;
_tasks.splice(pos, 1);
setTasks(_tasks)
}
这里任务被删除,但 UI 不会更新,直到我向状态数组添加新项目。
【问题讨论】:
标签: arrays reactjs use-effect use-state