在有redux之前是怎么管理全局变量的?

问这个纯粹是好玩,我干前端不到三年,我知道以前是PHP的天下,今天突然想到,如果每个页面都是不联系的,没有全局状态管理工具,那么以前类似于“用户信息”,或者“购物车数据”这种跨页面的数据都是存储在哪里的呢??

请年限长的大佬,给讲讲。因为我感觉react这种组件哲学很科学,要是没有这个东西,我还真想不到怎么管理跨页面的数据,存在Localstorage里??

阅读 2.1k
2 个回答

放在 cookie 或后端的数据库中。

毕竟在那时主要是服务端渲染嘛(似乎现在又是这样了),数据存后端完全没问题。

新手上路,请多包涵

在 Redux 出现之前,Web 应用程序通常使用 Flux 架构来管理全局状态。Flux 是 Facebook 开发的一种应用程序架构,旨在帮助解决 Web 应用程序中的数据流问题。

在 Flux 架构中,应用程序状态被存储在一个称为“store”的类别中。Store 保存了应用程序的状态,并提供了修改该状态的方法。在 Flux 中,应用程序状态只能通过调用 store 中的方法来修改,这样可以保证状态的一致性和可追溯性。

在使用 Flux 架构时,通常还使用了 Action 和 Dispatcher 两个概念。Action 是一种简单的对象,它描述了应用程序中发生的事件以及相关的数据。Dispatcher 是一个集线器,它负责将 Action 发送到 Store 中进行处理。

当一个 Action 被发送到 Dispatcher 时,Dispatcher 将其转发给每个注册的 Store,然后 Store 根据 Action 的类型来更新自己的状态。最后,Store 发出一个“change”事件,通知 View 层更新 UI。

相比于直接在应用程序中使用全局变量,Flux 架构可以更好地组织应用程序的代码,并提供了一种有效的方式来管理应用程序状态。Redux 也是基于 Flux 架构的一种状态管理库,但提供了更加简单和便捷的 API,使得状态管理更加容易和高效。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题