Redux / React-Redux - 使用" state = XXX"在减速机中

时间:2016-08-11 08:51:45

标签: javascript redux react-redux

我们正在使用Redux.js和React.js(React-Redux),在reducer中我们使用以下代码(我们使用redux-actions来减少样板):

const update = require('react/lib/update');
const myReducer = handleActions
({
     [myAction]: (state, action) => {
         state = update(state, {
             something: {$set: !state.someProperty}
         });
         return someFunction(state);
     }
})

我们正在使用React Immutability Helpers中的update,但使用state =将结果分配到州内。

这是针对basic Redux guidlines - 即改变国家吗?它似乎是这样,但代码似乎完美而快速地工作,而redux devtools正确显示状态变化...

1 个答案:

答案 0 :(得分:1)

您的示例 没问题,因为您实际上并没有改变state变量指向的对象内容。相反,您只是将名为const newState = update(....)的局部变量更新为指向不同的对象。

理解变量和引用在Javascript中的工作方式非常重要,这有助于明确这里的内容。

就个人而言,我建议明确做if (1==0) { echo "Yes" }