Javascript 如何正确设置对象数组的状态?
我有一个ob对象数组,它根据按钮的数量创建Javascript 如何正确设置对象数组的状态?,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我有一个ob对象数组,它根据按钮的数量创建Close按钮。当我点击Close按钮时,我希望数组被更新(删除),然后按钮元素将从屏幕上消失 我在控制台中进行了计算。log但无法正确执行设置状态:( 此处的示例代码: 如果您能提供任何帮助,我将不胜感激,我相信这只是我需要正确设置setState的格式,但因为它包含一个对象数组等等,所以我无法理解它。这是您重新编写的handleclick函数,您在根据需要修改后忘记了在最后返回状态: handleClick = i => { thi
Close
按钮。当我点击Close
按钮时,我希望数组被更新(删除),然后按钮元素将从屏幕上消失
我在控制台中进行了计算。log
但无法正确执行设置状态:(
此处的示例代码:
如果您能提供任何帮助,我将不胜感激,我相信这只是我需要正确设置setState的格式,但因为它包含一个对象数组等等,所以我无法理解它。这是您重新编写的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;
});
};
handleClick=i=>{
this.setState(state=>{
var newState={allProjects:[]};
for(设z=0;zitem!==i);
console.log('filter',项);
console.log('================');
newState.allProjects[z]=Object.assign({},state.allProjects[z]);
newState.allProjects[z]。employees=items;
}
返回新闻状态;
});
};
请将您的代码放在您的问题中,不要链接到外部站点。或者,如果您愿意。Emile我尝试过,但失败了,我认为我只是错误地编写了setState。这会改变当前状态,这在React中是禁止的。您应该通过删除“返回状态”来亲自尝试最后,意识到它不会改变当前状态,否则返回语句就不需要了。还是我错了?state.allProjects[z].employees=items
会改变你正在使用的状态
引用。哦,的确,我做了更正。Emile,现在可以了吗?