React devTools 扩展破坏了商店

React devToolsExtension breaks the store

当我使用

创建商店时
const store = createStore(reducers, applyMiddleware(...middleware),  window.devToolsExtension ? window.devToolsExtension() : f => f)

我在控制台中收到一条警告,商店无法正常工作:

The previous state received by the reducer has unexpected type of "Function". Expected argument to be an object with the following keys: "posts", "sidebar"

当我删除 DevTools

const store = createStore(reducers, applyMiddleware(...middleware));

它又开始工作了。

你如何分配 DevTools 并让应用程序仍然有效?如果您想查看一些来源,请查看此 。它的配置方式与我的应用程序完全相同。

我的工具是这样设置的:

const store = createStore(
    rootReducer,
    initialState,
    compose(
        applyMiddleware(
            thunkMiddleware,
            createLogger(),
            errorHandler,
            navigate,
            tracking
        ),
        window.devToolsExtension ? window.devToolsExtension() : f => f
    )
);

注意这里使用了 compose,您从 redux 导入它以及 applyMiddlewarecreateStore

IIRC 你的方法曾经在旧版本的 redux 中工作,但我不能确定它停止工作的确切时间。我确实记得你遇到过同样的问题。