Reactjs:使用的setState,一些奇怪的
问题描述:
所以当obj是被重新分配,我有这样的基础对象:Reactjs:使用的setState,一些奇怪的
const obj = {
name: 'bill',
age: 44,
cid: 0
}
,并在我的应用程序的各个部分,我“复位”这个OBJ我的状态。问题是,如果我尝试重新分配obj,cid总是被覆盖 - 如果我明确地重新分配,它是干净的.. ala。
// this is psuedo code, but this would break in that
// var2 now has some bleedover with other objects dirtying things up
this.setState({
key1: [_.merge([whatetever], {this.state.var1}],
key2: [this.obj]
})
注意:当我注销'this.obj'时,它发生了一些变化。
// this way is fine
this.setState({
key1: [_.merge([whatetever], {cid},{this.state.var1}],
key2: [{
name: 'bill',
age: 444,
cid: 0
}]
})
但明确重新分配整个对象5个左右的地方是瘸子..为什么我不能只重新分配obj引用。我以前从未遇到过这种情况......当然,这是一个重新分配问题,也许是es6反向分配的问题?
反正你的想法?
答
尝试以下操作:
key2: Object.assign({}, state['key2'], this.obj)
虽然很奇怪,使用this.obj
。这不应该是props
或state
?
我仍然不太清楚“重置”时你正在尝试做什么。
谢谢...我实际上正在做这样的事情,问题是我脑部放屁,没有这个初始{},来创建“新对象”...因此我重写了obj ..谢谢为了清晰起见。有时候我只需要一套新的眼睛! :-) –