我有一个数组ob对象,它们根据有多少个按钮来创建Close
按钮。当我单击Close
按钮时,我希望数组进行更新(删除),然后按钮元素将从屏幕上消失。
我在console.log
中锻炼过,但无法正确执行setState :(
此处的示例代码:https://codesandbox.io/s/sharp-kilby-hn2d9
任何帮助将不胜感激,我相信这只是setState的格式,我需要正确地执行它,但是因为它包含对象的数组等等,所以我无法弄清楚。
答案 0 :(得分:-1)
这是重写的handleclick函数,您忘记了根据需要对其进行修改后的状态:
handleClick = i => {
this.setState(state => {
var newState = {allProjects: []};
for (let z = 0; z < state.allProjects.length; z++) {
const element = state.allProjects[z].employees;
const items = element.filter(item => item !== i);
console.log('filter', items);
console.log('===========');
newState.allProjects[z] = Object.assign({}, state.allProjects[z]);
newState.allProjects[z].employees = items;
}
return newState;
});
};