谁能解释一下我对 setState 的新反应

can any one please explain me react setState new to me

谁能告诉我每一行的工作原理,因为我不知道 我们可以让进入设定状态吗?请解释这两行

    const userDetails = previousState.userDetails
    return { userDetails: {...userDetails, [key]: value} }

设置状态下的return没看懂

     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 中看到的 return 是传递给 setState 的函数中的 return。