javascript - redux store 保存在哪里?

标签 javascript redux

我正在研究 redux 应用程序的安全性,我将某些值存储在 redux 存储中,即用户 token 等。并试图查看其他人是否可以通过 xss 攻击访问它们,例如,我检查了sessionStorage、localStorage、cookie 不存在,也不在我的 app.js 文件(我的捆绑文件)中,因此我的问题。

最佳答案

正要回答How does React and Redux store data? Is it localstorage or cookies?当它作为副本关闭时。所以我想在这里粘贴我的答案。

回答

首先,值得注意的是,UI 库实际上并不管理状态(组件级状态除外)。 ReactJS 和 VueJS 希望您像将参数传递给函数一样将数据传递给它们。他们不关心这些数据来自何处或您如何存储它。

另一方面,Redux 不是一个 UI 库——它是一个状态管理库。 Redux 确实存储状态。 VueJS 对 Redux 的必然结果是“Vuex”。

除此之外,接下来您需要了解状态管理 和状态持久性 之间的区别。像 Redux 和 Vuex 这样的库通常会跟踪您的变量并提供用于更改状态的工具(特别是 reducer)——但它们不管理该状态的持久性。持久性是指将状态保存在某处,以便在下次有人访问您的应用程序时重新加载它——这似乎是您所好奇的(因为您提到了 cookie 和本地存储)

持久性通常是手动编码的(将状态发送到 API 端点,将其保存到数据库,然后当您重新加载页面时,您 ping 不同的 API 端点以检索状态)或者您使用插件/模块来实现状态管理器为您处理持久性。例如,有一个流行的 Redux Local Storage 插件叫做(足够简单)redux-localstorage

关于javascript - redux store 保存在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38329193/

相关文章:

javascript - 检查数组中的值

javascript - 为什么我无法从 Twitter 查询中的 curl_exec 获取 xml 文件的标签名称?

javascript - 如何限制页面滚动到内容最少的div?

javascript - 使用 lodash 并尝试使用多个对象更新和对象。 (编辑项目)

javascript - 对象作为 React 子对象无效(在 React 15.4.1 的 Internet Explorer 11 中)

javascript - 为什么我的表单会重新加载页面?

javascript - 在页面中找到一串文本并在其周围包裹一些 span 标签

javascript - React-Router-Redux 分派(dispatch) LOCATION_CHANGE 两次,删除搜索值

javascript - React Native Object.freeze 不起作用

javascript - ReactJS + 终极版 : How to wait until dispatch has been completed before moving onto next step?