看起来您正在将几个商店增强器传递给 createStore() react-thunk
It looks like you are passing several store enhancers to createStore() react-thunk
我在尝试使用 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
?
今天你应该使用 our official Redux Toolkit package to write your Redux logic, and in particular, RTK's configureStore
API。
configureStore
自动为您设置 Redux DevTools Extension,自动打开 thunk 中间件,如果需要,还可以轻松添加额外的商店增强器。
您展示的示例将是:
const store = configureStore({
reducer: rootReducer
});
并且行为与您展示的完全相同。
我在尝试使用 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
?
今天你应该使用 our official Redux Toolkit package to write your Redux logic, and in particular, RTK's configureStore
API。
configureStore
自动为您设置 Redux DevTools Extension,自动打开 thunk 中间件,如果需要,还可以轻松添加额外的商店增强器。
您展示的示例将是:
const store = configureStore({
reducer: rootReducer
});
并且行为与您展示的完全相同。