我有一个应用程序可以将用户特定数据保存在redux中,当用户注销时必须清除该数据,即在同一浏览器选项卡中登录应用程序的下一个用户不应该能够访问数据。
因此,应用程序使用redux中间件从API获取用户特定数据,然后该数据作为部分应用程序状态存储在redux中。当用户注销时,我会调度注销操作以清除状态:
const rootReducer = (state: {}, action: AnyAction) => {
if( action.type === 'LOG_OUT')
return {};
return state;
}
一切似乎都很好,状态被重置为空状态,但我的问题是 - 当用户注销并且用户没有关闭浏览器选项卡时,有人可以使用开发工具或者在用户注销之前以某种方式查看状态吗? redux(不使用额外的持久性/历史中间件/增强器)是否可以在开箱即用的地方存储状态?或者它是纯粹在浏览器内存中,当注销状态重置时,之前的状态消失了,无法访问?
答案 0 :(得分:0)
如果没有对前一个状态对象的剩余引用,那么浏览器的JS引擎将垃圾收集旧状态。这也意味着浏览器的DevTools不会检查任何变量。
Redux核心本身不保留对先前状态对象的引用。