cra-template-jam
Version:
A quick start Create React App template with React Router, Redux Toolkit, TypeScript, Styled Components and custom ESlint configurations
21 lines (18 loc) • 631 B
text/typescript
import { configureStore, ThunkAction, Action } from '@reduxjs/toolkit';
import counterReducer from '../features/counter/counterSlice';
import { api } from './api';
export const store = configureStore({
reducer: {
counter: counterReducer,
[api.reducerPath]: api.reducer,
},
middleware: getDefaultMiddleware => getDefaultMiddleware().concat(api.middleware),
});
export type AppDispatch = typeof store.dispatch;
export type RootState = ReturnType<typeof store.getState>;
export type AppThunk<ReturnType = void> = ThunkAction<
ReturnType,
RootState,
unknown,
Action<string>
>;