项目突然出问题? | 青训营笔记

101 阅读3分钟

我在项目中使用客户端本地存储进行状态管理,这显然是一个错误的决定。

先不说安全问题,每次设置好状态是不能生效的,因为读取本地存储数据必须整个客户端重新加载才能读取数据,导致不能正常使用和操作上的安全性问题,数据安全更不用说了,他可以直接被用户看到,即使数据加密,但状态不能加密,会出现严重漏洞。

最终还是要使用redux进行状态管理,下面介绍一下redux

Redux 是一种 JavaScript 应用程序状态管理工具,它可以帮助开发者更好地管理应用程序的状态。以下是 Redux 的优点和缺点:

优点

  1. 可预测性:Redux 的数据流是单向的,由 UI 触发 action,再经过 reducer 更新 state,最后更新 UI。这种流程保证了每次的状态变更都可以被追溯到特定的 action 和 reducer,使得应用行为可预测,易于调试和测试。
  2. 统一管理应用状态:Redux 提供了一个全局的 store 来管理应用状态,将应用的状态从组件中解耦出来,避免了组件间传递状态时可能产生的冗余代码和不必要的渲染。
  3. 方便的开发工具支持:Redux 在开发中有大量的工具链支持,如 Redux DevTools、Redux Logger 等,这些工具可以帮助我们更加高效地开发和调试 Redux 应用。
  4. 广泛的社区支持:Redux 拥有庞大的社区和生态系统,在使用中容易找到需要的插件和库,同时也能够分享经验和问题,获得帮助和支持。

缺点

  1. 繁琐的模板代码:在 Redux 中,每个 action 都需要定义一个 type 常量和一个对应的 action creator 函数,每个 reducer 都需要定义一个初始状态和对应的更新函数,这些模板代码可能会让开发变得繁琐。
  2. 增加学习成本:Redux 是一种新的状态管理工具,需要开发者先掌握其核心概念和使用方法。因此,对于新手来说,学习 Redux 可能需要花费一定的时间和精力。
  3. 不适合简单场景:对于简单的应用场景,引入 Redux 可能会过于复杂,并且增加了不必要的学习成本和代码量。在这种情况下,使用 React 内置的状态管理机制通常就足够了。

总体而言,Redux 作为一种功能强大的状态管理工具,可以帮助开发者更好地组织和管理应用的状态。但是,在使用时也需要根据实际场景权衡其优缺点,以便做出最佳的选择。

它可以实时被读取,基本不会存在延迟,并且用户无法看到,大大增加了安全性