看起来您正在传递几个存储增强器来创建store()react thunk



我用redux做了一段时间的实验,遇到了一个问题,我找到了解决方案(这里:React redux-错误,将几个存储增强器传递给createStore(((,但这不是我想要的解决方案。基本上,我和提问的人有同样的问题,基本上是在创建redux商店时,我们这样做的:

import { createStore, applyMiddleware } from "redux";
import { composeWithDevTools } from "redux-devtools-extension";
import reduxThunk from 'redux-thunk';
import rootReducer from "./reducers";
const store = createStore(
rootReducer,
composeWithDevTools(applyMiddleware(reduxThunk)),
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);

但是上面的代码不是创建商店的正确方式,显然你应该创建商店如下:

import { createStore, compose, applyMiddleware } from "redux";
import reduxThunk from "redux-thunk";
import rootReducer from "./reducers";
const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const store = createStore(
rootReducer,
composeEnhancer(applyMiddleware(reduxThunk))
);

然而,在上面的解决方案中,我没有使用我想要使用的composeWithDevTools模块。在这种情况下有没有办法使用composeWithDevTools?有必要使用composeWithDevTools吗?

今天,您应该使用我们的官方Redux工具包包来编写您的Redux逻辑,尤其是RTK的configureStoreAPI。

configureStore会自动为您设置Redux DevTools扩展,自动打开thunk中间件,如果需要,还可以很容易地添加额外的存储增强程序。

你展示的例子很简单:

const store = configureStore({
reducer: rootReducer
});

行为和你表现的完全一样。

最新更新