[#1] Bare Skeleton with redux store, oidc and router-dom

This commit is contained in:
Camille Moussu
2025-06-25 17:42:54 +02:00
parent 57f9ba8427
commit cceb83519f
32 changed files with 21256 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
import { useDispatch, useSelector } from 'react-redux'
import type { RootState, AppDispatch } from './store'
export const useAppDispatch = useDispatch.withTypes<AppDispatch>()
export const useAppSelector = useSelector.withTypes<RootState>()
+30
View File
@@ -0,0 +1,30 @@
import { combineReducers, configureStore } from "@reduxjs/toolkit";
import userReducer from "../features/User/userSlice";
import { createReduxHistoryContext } from "redux-first-history";
import { createBrowserHistory } from "history";
const { createReduxHistory, routerMiddleware, routerReducer } =
createReduxHistoryContext({ history: createBrowserHistory() });
const rootReducer = combineReducers({
router: routerReducer,
user: userReducer,
});
export const setupStore = (preloadedState?: Partial<RootState>) => {
return configureStore({
reducer: rootReducer,
preloadedState,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware().concat(routerMiddleware),
});
};
export const store = setupStore();
export const history = createReduxHistory(store);
export type RootState = ReturnType<typeof rootReducer>;
export type AppStore = ReturnType<typeof setupStore>;
export type AppDispatch = AppStore["dispatch"];