我正在尝试使用flux / utils仅用于示例项目,当我直接改变商店时,我会收到错误。但是当我返回一个新的状态对象时,一切正常。以前使用EventEmitter类时,我可以直接改变商店,但不能使用flux / utils。
我认为Flux(不像Redux的)商店是可变的。
例如,给定时:
case ADD_COUNTER: {
state.counters.push({
id: state.currId++,
value: 0
});
return state;
}
并且触发了ADD_COUNTER操作,没有任何反应。用户界面保持不变。
当给出时:
case ADD_COUNTER: {
return {
...state,
counters: [
...state.counters,
{
id: state.currId,
value: 0
}
],
currId: state.currId + 1
};
}
并触发ADD_COUNTER操作,更新状态并在UI中更新更改。