我尝试了一下redux,遇到了一个问题,我找到了解决方案(这里:React Redux - Error passing several store enhancers to 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吗?
发布于 2021-03-26 03:00:03
现在,您应该使用our official Redux Toolkit package来编写Redux逻辑,特别是RTK's configureStore API。
configureStore自动为您设置Redux DevTools扩展,自动打开thunk中间件,如果需要,还可以非常轻松地添加额外的商店增强器。
您要展示的示例很简单:
const store = configureStore({
reducer: rootReducer
});其行为与您所展示的完全相同。
https://stackoverflow.com/questions/66805895
复制相似问题