Javascript 在对象嵌套的3层深度中设置集

Javascript 在对象嵌套的3层深度中设置集,javascript,reactjs,Javascript,Reactjs,嗨,伙计们,我有一个问题,从一开始我会提到,我已经尝试和 我的情况如下。我有API,它发送给我 根目录处于组件状态! 根目录:{ RootVal1:{ 建议1:“, 第2条:“, 第三项建议:, } RootVal2:[ PropObj1:{ NestedProp1:“”, NestesPropObj:{ NestedEvenMoreProp1:“”, NestedEvenMoreProp2:“”, NestedEvenMoreProp3:“” } }, 提案J2:{ NestedProp1:“

嗨,伙计们,我有一个问题,从一开始我会提到,我已经尝试和

我的情况如下。我有API,它发送给我

根目录处于组件状态!
根目录:{
RootVal1:{
建议1:“,
第2条:“,
第三项建议:,
}
RootVal2:[
PropObj1:{
NestedProp1:“”,
NestesPropObj:{
NestedEvenMoreProp1:“”,
NestedEvenMoreProp2:“”,
NestedEvenMoreProp3:“”
}
},
提案J2:{
NestedProp1:“”,
NestesPropObj:{
NestedEvenMoreProp1:“”,
NestedEvenMoreProp2:“”,
NestedEvenMoreProp3:“”
}
},
PropObj3:{
NestedProp1:“”,
NestesPropObj:{
NestedEvenMoreProp1:“”,
NestedEvenMoreProp2:“”,
NestedEvenMoreProp3:“”
}
},
]
}
您可以使用

示例(要更新
Prop1
Prop2
Prop3
):


更多信息(感谢@TelmosDias)

请展示您尝试的内容片段。你提到的第二个链接应该已经回答了你的问题,所以我猜你错过了something@TelmoDiasOP在他的文章中给出了完全相同的链接question@Logar我用我试过的例子编辑了这篇文章。@Trefl抱歉,我现在没有时间玩它,下面是一个如何更新你的状态的快速示例,希望这对你来说足够了:对不起,我忘了提到根目录在更新后必须有相同的名称。所以我不能把它改名为newRoot。伙计,读一下OP的问题。虽然您的示例是正确的,但您提供的链接已经在问题中,OP说他尝试过了,所以他在某个地方遗漏了一些东西,但您没有帮助他,您不必重命名,您只需覆盖根对象即可@Logar是的,他已经在他的问题中链接了这个anwser,但他没有应用类似的东西(或者他没有提到他做了,或者我错过了什么)@Darkilen好吧,基本上你只是复制粘贴了修改过的数据的SO链接,在某些情况下这可能是好的,即使最好将其标记为复制。但是如果另一个答案对他没有帮助,我不知道这个答案会有什么帮助
this.setState({
  Root:
    ...this.state.Root, 
    RootVal1: {
      ...this.state.Root.RootVal1,
      Prop1: "Prop1 value here",
      Prop2: "Prop2 value here",
      Prop3: "Prop3 value here"
    }
  }
);