繁体   English   中英

React Hooks 更新字典 State

[英]React Hooks Update Dictionary State

我有一个 state 应该是这样的字典:

[personInfo, setPersonInfo] = useState({"firstName": "", "lastName": ""});

我想像这样更新这个 state:

setPersonInfo(prevPersonInfo => prevPersonInfo["firstName"] = "name")

但这不起作用。

请不要建议我为 firstName 和 lastName 存储两个单独的状态。 对于我的特定用例,我有必要使用字典。

我的猜测是它不起作用,因为您正在更改相同的 object,而不是返回一个新的。 我建议以一种扩展到新的 object 的方式重写它

setPersonInfo(prevPersonInfo => ({...prevPersonInfo, firstName: "name"}))

顺便说一句,根据您的 object 的复杂程度,您可能需要考虑useReducer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM