flux / utils在不可变时不起作用

时间:2017-10-16 13:58:43

标签: javascript reactjs flux

我正在尝试使用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中更新更改。

0 个答案:

没有答案