Security redux安全性-在状态重置后是否可以访问以前的状态?

Security redux安全性-在状态重置后是否可以访问以前的状态?,security,redux,Security,Redux,我有一个应用程序,它将在redux中保留用户特定的数据,用户注销时必须清除这些数据,即在同一浏览器选项卡中登录到该应用程序的下一个用户应该无法访问这些数据 所以,应用程序使用redux中间件从API获取特定于用户的数据,然后该数据作为应用程序状态的一部分存储在redux中。当用户注销时,我将调度注销操作以清除状态: const rootReducer = (state: {}, action: AnyAction) => { if( action.type === 'LOG_OUT

我有一个应用程序,它将在redux中保留用户特定的数据,用户注销时必须清除这些数据,即在同一浏览器选项卡中登录到该应用程序的下一个用户应该无法访问这些数据

所以,应用程序使用redux中间件从API获取特定于用户的数据,然后该数据作为应用程序状态的一部分存储在redux中。当用户注销时,我将调度注销操作以清除状态:

const rootReducer = (state: {}, action: AnyAction) => {
    if( action.type === 'LOG_OUT')
        return {};
    return state;
}

一切似乎都很好,状态被重置为空状态,但我的问题是-当用户注销并且用户未关闭浏览器选项卡时,是否有人可以使用开发工具或其他方式在用户注销之前查看状态?redux(不使用额外的持久化/历史中间件/增强器)是否将状态存储在开箱即用的地方?或者,这一切纯粹是在浏览器内存中,当注销时重置状态时,上一个状态将消失且不可访问?

如果没有对上一个状态对象的剩余引用,那么浏览器的JS引擎将垃圾收集旧状态。这也意味着浏览器的DevTools无法检查任何变量


Redux核心本身不保留对先前状态对象的引用。

如果没有对先前状态对象的剩余引用,那么浏览器的JS引擎将垃圾收集旧状态。这也意味着浏览器的DevTools无法检查任何变量


Redux核心本身不保留对先前状态对象的引用。

因此,为了便于讨论,假设在将状态设置为空对象之前,登录前状态已分配给reducer中的局部变量-我可以从开发工具访问它吗?还有一个问题:用“state={}”或“state=undefined”重置state更好吗?或者有其他更好的/推荐的方法吗?为了便于讨论,让我们假设在将state设置为空对象之前,登录前的state已经分配给reducer中的局部变量-我可以从dev工具访问它吗?还有一个问题:用“state={}”或“state=undefined”重置state是否更好,还是有其他更好/推荐的方法?