提供者组件不重新呈现

Provider component doesn't re-render

我不确定这是否是预期的行为,我只是遗漏了一些东西:)

容器文件:

https://gist.github.com/anonymous/2b93241de5573bd0a6bd

本游戏组件使用如下:

https://gist.github.com/anonymous/80f0c2747c25a541e68d 派发 pickColor 操作后,商店会更新(我通过从其他地方订阅它来检查)。因此,在分派此操作后 - 游戏组件不会重新呈现。

正如我所说,我不确定我是否没有正确设置 redux,或者它只是以这种方式设计的,所以我必须通过订阅 store 手动重新渲染组件?

react-redux 绑定只会在状态对象是新对象实例时更新您的组件。

因此您的减速器必须 return 全新的对象。这就是不变性的意义所在。

不好:

switch (action.type) {
    case SET_VALUE:
        state.value = action.value;
        return state;
}

好:

switch (action.type) {
    case SET_VALUE:
        return Object.assign({}, state, {
            value: action.value
        });
}