谁能解释一下我对 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。
谁能告诉我每一行的工作原理,因为我不知道 我们可以让进入设定状态吗?请解释这两行
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。