constructor(){ super(); this.state={ alll:[], values:'' } } add(e){ let arr1 = this.state.alll; arr1.push({msg:this.state.values,check1:false}); this.setState({ alll:arr1 }) // console.log(this.state.alll); }delate(e){ let index1 = e.target.parentNode.id; let arr1 = []; for(var i =0;i<this.state.alll.length;i++){ arr1.push(JSON.parse(JSON.stringify(this.state.alll[i]))); } console.log(arr1); arr1.splice(index1,1); console.log(arr1); this.setState( function(){ return {alll: arr1}; } ) console.log(this.state.alll);// }調用delate方法時,state中的數組alll不會改變?yōu)閯h除一個元素后的arr1。直接使用setState({alll:arr1})也是同樣的效果,無法改變alll
使用react重新設置state,為什么數組元素不更新
翻閱古今
2019-03-08 18:15:45