Я пытаюсь сохранить мой редукс в localStorage, но я не знаю, как добавить его в функцию configureStore редукционного инструментария.
Ошибка:
Аргумент типа '{reducer: {progress: Reducer; }; persistedState: любой; } 'нельзя назначить параметру типа' ConfigureStoreOptions <{progress: number; }, AnyAction> '. Литерал объекта может указывать только известные свойства, а «persistedState» не существует в типе «ConfigureStoreOptions <{progress: number; }, AnyAction> '.
Код:
localStorage.ts
export const loadState = () => {
try {
const serializedState = localStorage.getItem("state");
if (serializedState === null) {
return undefined;
}
return JSON.parse(serializedState);
} catch (err) {
return undefined;
}
};
index.tsx
import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
import counterSlice from "./store/reducers/counterSlice";
import { configureStore } from "@reduxjs/toolkit";
// import throttle from "lodash.throttle";
import { Provider } from "react-redux";
import { loadState, saveState } from "./store/localStorage";
const reducer = {
progress: counterSlice
};
const persistedState = loadState();
const store = configureStore({
reducer,
persistedState
});
store.subscribe(() => {
saveState({
progress: store.getState().progress
});
});
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById("root")
);