【发布时间】:2022-01-06 10:44:58
【问题描述】:
我有一个要求,我必须使用 RTK 查询来获取数据,并使用 Redux-thunk 来进行全局状态管理。同样,我创建了 2 个独立的商店,一个用于 RTK,另一个用于 redux。现在我遇到了问题,因为我们的应用程序中不应该有 2 个商店。
商店 1:-
import { createStore, applyMiddleware, compose } from 'redux';
import thunk from 'redux-thunk';
import combineReducer from './combineReducer';
export const configureStore = () : any => {
const middleWares = [thunk];
const middlewareEnhancer = applyMiddleware(...middleWares);
const enhancers = [middlewareEnhancer];
const composedEnhancers: any = compose(...enhancers);
const store = createStore(combineReducer, composedEnhancers);
return store;
};
商店 2:-
import { configureStore } from "@reduxjs/toolkit";
import { setupListeners } from "@reduxjs/toolkit/query";
import { postApi } from "../services/posts";
export const store = configureStore({
reducer: {
[postApi.reducerPath]: postApi.reducer,
},
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware().concat(postApi.middleware),
});
setupListeners(store.dispatch);
App.tsx:-
const App: React.FC = () => (
<Provider store={store}>
<Provider store={rtkStore}>
<Suspense fallback={<div>Loading...</div>}>
<BrowserRouter>
<Routes />
</BrowserRouter>
</Suspense>
</Provider>
</Provider>
);
我敢肯定,这其中有些可疑之处。任何需求的解决方案都将是可观的。
【问题讨论】:
标签: javascript reactjs redux rtk-query