Я делаю счетчик с использованием response-redux, redux-presist и localForage.
и пытаюсь очистить мое хранилище, чтобы установить cnt = 0;
, когда пользователь входит, так что он начнет считать от 0 до n когда пользователь заходит на мой сайт, но clear()
не работает ни одной идеи?
store. js
import { createStore } from "redux";
import { persistStore, persistReducer } from "redux-persist";
import storage from "localforage";
import { rootReducer } from "./rootReducer";
export const localStorageEngine = storage.createInstance({
name: "aqua",
version: 1,
description: "States DB for AQUA",
driver: [storage.LOCALSTORAGE]
});
// localStorageEngine.clear();
const persisConfig = {
key: "root",
storage
};
const persistedReducer = persistReducer(persisConfig, rootReducer);
const store = createStore(persistedReducer);
export default store;
export const persistor = persistStore(store);
App. js
import React, { useEffect } from "react";
import store, { localStorageEngine } from "./store";
import "./styles.css";
import { setCounter } from "./rootReducer";
export default function App() {
useEffect(() => {
localStorageEngine.clear().then(() => console.log("cleared"));
setInterval(() => {
store.dispatch(setCounter(store.getState().counterReducer.cnt+1));
console.log(store.getState().counterReducer.cnt);
}, 1000)
// ComponentWillUnmount
return () => {
localStorageEngine.clear().then(() => console.log("cleared at componentWiilUnmount"));
}
}, []);
return <div className="App" />;
}
![Edit redux-persist clear](https://codesandbox.io/static/img/play-codesandbox.svg)
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.