任何人都可以让我知道每条线路的工作情况,因为我不知道我们可以让我们进入状态吗?请解释这两行
const userDetails = previousState.userDetails
return { userDetails: {...userDetails, [key]: value} }
设置状态的返回我不明白
this.setState((previousState) => {
const userDetails = previousState.userDetails
return { userDetails: {...userDetails, [key]: value} }
})
setState
可以接受一个函数从前一个状态到一个新状态:
this.setState(previousState => newState);
previousState => newState
是一个箭头函数,它将接受先前的状态(它将在setState
被调用时提供),并且必须提供新的状态。
在您发布的代码中,新状态的计算方法是从前一个状态中获取一个名为 的对象userDetails
,然后向其附加一个新的键值对。
这是使用两种机制完成的。第一个是扩展运算符:...userDetails
它将userDetails
原始对象中的所有键值对添加到新值中。接下来,添加新值:
[key]: value
这意味着将创建一个新对,其中键是键变量的值(我怀疑这在setState
调用之前的函数中某处可用),并且该值等于名为 的变量value
,该变量也是以前的可用的。
当您想使用动态值作为映射中的键时,使用这种表示法。
编辑 - 从评论中回答问题
任何超过一行的函数体都需要放在一个块中{ ... }
。当您想从该函数返回一个值时,将使用return
关键字。
将return
你在看到setState
是从传递给函数的返回setState
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句