如何在注销/注销时清除ReactJs中的所有商店?

时间:2016-10-19 12:19:23

标签: javascript reactjs reactjs-flux

我的应用中有多个商店,所有商店都有构造函数。在app流程中,我们的商店和localstorage会使用不同的值进行更新。注销时,我能够成功清除本地存储数据。

一次性清除localstorage中所有项目的代码

_clearStorage: function(){
    let len = localStorage.length;
    for (let i = len - 1; i >= 0; i--) {
        let key = localStorage.key(i);
        if (key != null && key != undefined && key.indexOf('org.') == 0) {
            localStorage.removeItem(key);
        }
    }
}

我们是否可以在react + flux应用程序中清除商店中的所有数据?当用户从系统注销时,有兴趣将所有商店恢复到初始状态。

其中一家商店

import {EventEmitter} from "events";
import dispatcher from "../dispatchers/dispatcher";

class ItemStore extends EventEmitter{
    constructor(){
        super()
        this.itemTypes = [];                
    }

    _getter(){
        return this.itemTypes;
    }
    _setter(){
        // Some Logic
    }
}
const Stores = new ItemStore;
dispatcher.register(Stores._handleActions.bind(Stores));
window.dispatcher = dispatcher;
export default Stores;  

1 个答案:

答案 0 :(得分:0)

如果您想在一次使用中清除所有位置-

window.localStorage.clear();

它会正常工作。