所有JavaScript框架都必须处理全局状态的问题,即在模型更改后更新界面的问题。Redux和MobX是两个以各自的方式解决这个问题的状态管理库。状态管理是大型前端应用程序中最具挑战性的问题之一。
尽管有许多技术可以解决状态管理问题,Redux和MobX是用于修复前端应用程序中状态管理的两个主要外部库。
什么是Redux?
Redux 是一个用于状态管理的开源JavaScript库,它与React或Angular等库一起用于构建用户界面。它融合Facebook的Flux架构和受Elm 编程语言影响的函数式编程概念。
Redux的特点/原理
1.它有一个单一的事实来源——它使构建通用应用程序变得简单,因为你的服务器的状态可以被序列化并混合到客户端中,而无需任何额外的编程尝试。单个状态树还使调试或审查应用程序变得更简单。
2.它有一个只读状态——这保证视图和网络回调都不会直接写入状态。相反,他们表现出改变状态的愿望。由于所有更改都是集中的,并以严格的顺序一一发生,因此无需识别隐藏的竞争因素。
3.纯函数用于进行更改 - Reducer 基本上是纯函数,它们在获取前一个状态和一个动作后返回下一个状态。始终返回新的状态对象,而不是修改以前的状态。你可以从单个 reducer 开始,随着应用程序的发展,将其分解为更小的 reducer,以处理状态树的独特部分。
什么是MobX?
MobX 是一个强大的库,它通过透