render.app.frontend/src/redux/store.js

33 lines
851 B
JavaScript

import { configureStore } from '@reduxjs/toolkit';
import { loadState, saveState } from './stateLoader'
import lodash from 'lodash'
import { modelCrudReducer } from './slices/modelCrudSlice'
import { renderCrudReducer } from './slices/renderCrudSlice'
import { renderWebsocketReducer } from './slices/renderWebsocketSlice'
import { userAuthReducer } from './slices/userAuthSlice'
import { userCrudReducer } from './slices/userCrudSlice'
let persistedState = loadState()
export const store = configureStore({
reducer: {
modelCrudReducer,
renderCrudReducer,
renderWebsocketReducer,
userAuthReducer,
userCrudReducer
},
preloadedState: persistedState
})
store.subscribe(() => {
saveState(store.getState());
});
store.subscribe(lodash.throttle(() => {
saveState(store.getState())
}, 100))