import { ThunkAction } from 'redux-thunk'; import { Action, configureStore } from '@reduxjs/toolkit'; import rootReducer, { RootState } from './rootReducer'; const store = configureStore({ reducer: rootReducer, }); if (process.env.NODE_ENV === 'development' && module.hot) { module.hot.accept('./rootReducer', async () => { const { default: newRootReducer } = await import('./rootReducer'); store.replaceReducer(newRootReducer); }); } export type AppDispatch = typeof store.dispatch; export type AppThunk = ThunkAction>; export default store;