Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Redux中的克隆状态_Reactjs_Redux_State - Fatal编程技术网

Reactjs Redux中的克隆状态

Reactjs Redux中的克隆状态,reactjs,redux,state,Reactjs,Redux,State,我在我的Reactjs Redux应用程序中有这段代码 开关(动作类型){ 案例集\u RISPOSTA: const newState={…state} newState.verifica.domande[action.IndexDomainda].risposte[action.indexRisposta].valore=action.valore console.log(state.verifica.domande[0].risposte[0].valore)console.log(ne

我在我的Reactjs Redux应用程序中有这段代码

开关(动作类型){
案例集\u RISPOSTA:
const newState={…state}
newState.verifica.domande[action.IndexDomainda].risposte[action.indexRisposta].valore=action.valore
console.log(state.verifica.domande[0].risposte[0].valore)console.log(newState.verifica.domande[0].risposte[0].valore)
返回新闻状态
违约:
返回状态

}
因为
constnewstate={…state}
只创建一个
state
的新对象。它不会递归地创建新对象。这意味着在执行
{…state}
之后,以下内容将有所不同

state !== newState // true
但以下内容将保持不变

`newState.verifica` === `state.verifica` // true

这是我的第一个堆栈溢出问题!坦克斯!我怀疑这就是原因。我也必须为newState.verifica做同样的事情吗?有没有最好的方法来做我想做的事?在这里,它建议“复制所有级别的嵌套数据”以保持旧的免疫状态。是的,我的错。我是在完全不同的背景下说的。删除了评论。谢谢你指出这一点。