gpt4 book ai didi

ReactJS setState 具有多个嵌套数组

转载 作者:行者123 更新时间:2023-12-02 10:25:36 32 4
gpt4 key购买 nike

考虑以下结构:

this.state = {
States: [{
Abbreviation: "MA",
Cities: [{
ID: 1,
Name: "Boston",
PropertyToUpdate: null
},
{
ID: 2,
Name: "Springfield",
PropertyToUpdate: null
}]
}]
}

给定城市 ID 和值,我需要将 PropertyToUpdate 属性更新为该值。所以我会有一个看起来像这样的函数:

handleUpdateProperty(cityID, newValue){
// Do some things
this.setState({...});
}

我已经阅读了一些关于 immutable helpers 的文章但我不知道如何处理两层嵌套。我认为它应该看起来像:

var newState = React.addons.update(
this.state.States[indexOfState].Cities[indexOfCity],
{PropertyToUpdate: {$set: newValue}}
);

...但这不是正确的语法。那么如何保持我的状态不可变,但仍然更新数组项的嵌套属性?

最佳答案

你会这样使用它

var newState = React.addons.update(this.state, {
States: {
[indexOfState]: {
Cities: {
[indexOfCity]: {
PropertyToUpdate: {
$set: newValue
}
}
}
}
}
})

参见nested collections .

关于ReactJS setState 具有多个嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32487984/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com