24 lines
810 B
TypeScript
24 lines
810 B
TypeScript
import { combineReducers, configureStore, createAction } from '@reduxjs/toolkit'
|
|
import token, { actions as tokenActions } from './token'
|
|
import user, { actions as userActions } from './user'
|
|
import form, { actions as formActions } from './form'
|
|
import { loadStore, backupStore } from './storageHelper'
|
|
|
|
const preloadedState = loadStore()
|
|
export const reducer = combineReducers({ token, user, form })
|
|
export const actions = {
|
|
token: tokenActions,
|
|
user: userActions,
|
|
form: formActions,
|
|
reset: createAction('reset'),
|
|
}
|
|
export type RootState = ReturnType<typeof reducer>
|
|
export const store = configureStore({
|
|
reducer,
|
|
preloadedState,
|
|
devTools: import.meta.env.DEV,
|
|
})
|
|
export type AppDispatch = typeof store.dispatch
|
|
export type StoreType = typeof store
|
|
export const unsubscribe = backupStore(store)
|