为了账号安全,请及时绑定邮箱和手机立即绑定

使用react重新设置state,为什么数组元素不更新

使用react重新设置state,为什么数组元素不更新

拉风的咖菲猫 2019-05-23 19:04:46
constructor(){super();this.state={alll:[],values:''}}add(e){letarr1=this.state.alll;arr1.push({msg:this.state.values,check1:false});this.setState({alll:arr1})//console.log(this.state.alll);}delate(e){letindex1=e.target.parentNode.id;letarr1=[];for(vari=0;i
查看完整描述

2 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

你这样是直接获取不到更新后的state的,可以把console.log(this.state.alll)放在setState的回调里。譬如:
this.setState({
alll:arr1
},()=>{
console.log(this.state.alll)
})
                            
查看完整回答
反对 回复 2019-05-23
?
守着一只汪

TA贡献1872条经验 获得超3个赞

你这里应该是this'指针的问题,你在constructor中写一下this.delate=this.delate.bind(this);this.add=this.add.bind(this);试一下,其中你写在delate函数中的this.setstate(function(){})感觉怪怪的,
                            
查看完整回答
反对 回复 2019-05-23
  • 2 回答
  • 0 关注
  • 5221 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信