在react中最常用的方法就是修改参数setState,但该方法是异步执行的,所以很多时候在同一个函数中,需要用到修改状态之后的数据,那么常用的语法不能满足该条件,所以此时我们可以使用setState的推荐语法:
this.setState((state,props)=>{
// 执行修改数据的代码
sum:state.sum + 1,
num:props.num + 1
},()=>{
// 如果需要用到此时修改之后的代码,在此处执行代码即可
localStorage.setItem('list', JSON.stringify(this.state))
})
setState 有两个参数,第一个是我们修改参数的代码区域,建议使用回调函数的方式,可以拿到上一次修改的数据,例如:在一个函数中需要连续执行两次setState 时可在第二次操作的时候拿到第一次修改之后的结果;
第二个参数是可选参数,在需要操作修改后的数据时使用,可不填