Mis*_*Tea 5 reactjs react-redux redux-persist
在我的 React 应用程序中,我希望用户的购物车和数据在一定时间后被清除。
我尝试使用 setTimeout() 函数,该函数在 1 小时后运行 persistor.purge() ,但是当您关闭浏览器选项卡时,此方法不起作用。因此,如果用户在几天后再次打开网站,商店数据仍保留在那里。
第二种方法,我尝试了(redux-persist-expire)包,但网站没有任何变化。我的代码,index.js 文件,
import { persistStore, persistReducer } from "redux-persist";
import storage from "redux-persist/lib/storage";
import { createStore, compose, applyMiddleware } from "redux";
import thunk from "redux-thunk";
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const expireReducer = require("redux-persist-expire");
const persistConfig = {
key: "root",
storage: storage,
transforms: [expireReducer(rootReducer, { expireSeconds: 10 })],
};
const pReducer = persistReducer(persistConfig, rootReducer);
const store = createStore(pReducer, composeEnhancers(applyMiddleware(thunk)));
export const persistor = persistStore(store);
export default store;
Run Code Online (Sandbox Code Playgroud)
代码中是否需要修复某些内容?或者有更好的方法来处理它。
小智 1
您应该创建一个到期日期时间戳并将其保存在持久存储中。
当用户第二次打开您的网站时,您从持久存储中检索该时间戳并将其与当前日期/时间进行比较。如果相差超过一小时,你就清仓了。您还可以将到期日期设置为新值。
这个想法类似于 Cookie 的工作方式。
| 归档时间: |
|
| 查看次数: |
6330 次 |
| 最近记录: |