0
我们使用Redux.js和React.js(React-Redux),在reducer中我们使用下面的代码(我们正在使用终极版,采取行动减少样板):Redux/React-Redux - 在缩减器中使用“state = XXX”
const update = require('react/lib/update');
const myReducer = handleActions
({
[myAction]: (state, action) => {
state = update(state, {
something: {$set: !state.someProperty}
});
return someFunction(state);
}
})
我们使用update
从React Immutability Helpers但分配结果到使用state =
状态。
这是否违反basic Redux guidlines - 即突变状态?看起来是这样的,但代码似乎很好,很快,并且还原devtools显示状态更改正确...
谢谢,现在我明白了!我很困惑,因为当改变局部变量'state'的**内容**(通过使用'push'或设置属性或其他)时,你**正在**改变实际的状态对象。但通过将引用改为别的东西,JS不会更改原始对象,但会更改局部变量的引用。好的:-) –