Cod*_*cks 4 javascript reactjs
我有一个状态应该是像这样的字典:
[personInfo, setPersonInfo] = useState({"firstName": "", "lastName": ""});
Run Code Online (Sandbox Code Playgroud)
我想像这样更新这个状态:
setPersonInfo(prevPersonInfo => prevPersonInfo["firstName"] = "name")
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。
请不要建议我为名字和姓氏存储两个单独的状态。对于我的特定用例,我有必要使用字典。
Ale*_*ied 12
我的猜测是它不起作用,因为您正在更改同一个对象,而不是返回一个新对象。我建议以扩展到新对象的方式重写它
setPersonInfo(prevPersonInfo => ({...prevPersonInfo, firstName: "name"}))
Run Code Online (Sandbox Code Playgroud)
顺便说一句,根据您的对象的复杂程度,您可能需要考虑useReducer.
| 归档时间: |
|
| 查看次数: |
12510 次 |
| 最近记录: |