为什么不应该将 MobX 用作状态容器?
Why should MobX not be used as a State Container?
为什么不应该将 MobX 用作状态容器?如official docs"MobX is not a state container"中所述?不像 Redux 吗?
Redux 比 MobX State Tree I 更好,考虑到类似的动作调度模式、工具等。MobX 不对如何从旧状态派生新状态提供任何限制。作为其创建者,它更像是一个数据流库 likes to call it.
MobX 帮助我们在 React 组件之外设置 Reactivity。通过这种方式,视图组件可以不受逻辑影响。但真正使状态管理更容易和切实可行的是 MST。由于在状态中引入了类型,它还提供了像 Redux 这样的开发工具。所以 MST 比 MobX 更适合作为 Redux 的替代品。
查看 original post 为什么要创建 MobX 状态树,以及它如何补充 MobX 作为一个完整的状态管理工具。
文档没有说你“不应该使用 mobx 作为状态容器”。
他们说的是“mobx 不是状态容器”。
不一样。
Mobx 是一种工具,可让您按照 observer pattern.
编写代码
对于 mobx,它是关于观察 changes in values
并做出反应。 (另一个像 rxjs 这样的库使用流)因此,mobx 的问题是关于你是否认为使用观察者模式对你有好处。
文档试图解释的是,如果需要,您可以使用 mobx 将应用程序状态编写为可观察的数据结构。但它不会以任何方式强制或帮助您构建应用程序状态。我想大多数人都在单页 React 应用程序的上下文中思考。在 React 应用程序的情况下,默认情况下优化 React UI 组件要容易得多,只需用 mobx-react observer
装饰它们。由于 mobx
.
,这是使用此模式的优势
但它的用例不限于创建可观察的应用程序状态,系统中还有其他 "things" 或您想 "observe" 的用例。
也就是说,当我开发 Redux/React 应用程序时,我没有发现比使用 mobx 时自由度更低。随着时间的推移,出现了指导人们的最佳实践和工具,Redux 生态系统似乎可以解决构建应用程序的各个方面。只是 Redux 旨在从一开始就创建应用程序状态的表示。正如另一个答案中所解释的,mobx-state-tree
更等同于它。
为什么不应该将 MobX 用作状态容器?如official docs"MobX is not a state container"中所述?不像 Redux 吗?
Redux 比 MobX State Tree I 更好,考虑到类似的动作调度模式、工具等。MobX 不对如何从旧状态派生新状态提供任何限制。作为其创建者,它更像是一个数据流库 likes to call it.
MobX 帮助我们在 React 组件之外设置 Reactivity。通过这种方式,视图组件可以不受逻辑影响。但真正使状态管理更容易和切实可行的是 MST。由于在状态中引入了类型,它还提供了像 Redux 这样的开发工具。所以 MST 比 MobX 更适合作为 Redux 的替代品。
查看 original post 为什么要创建 MobX 状态树,以及它如何补充 MobX 作为一个完整的状态管理工具。
文档没有说你“不应该使用 mobx 作为状态容器”。
他们说的是“mobx 不是状态容器”。
不一样。
Mobx 是一种工具,可让您按照 observer pattern.
编写代码
对于 mobx,它是关于观察 changes in values
并做出反应。 (另一个像 rxjs 这样的库使用流)因此,mobx 的问题是关于你是否认为使用观察者模式对你有好处。
文档试图解释的是,如果需要,您可以使用 mobx 将应用程序状态编写为可观察的数据结构。但它不会以任何方式强制或帮助您构建应用程序状态。我想大多数人都在单页 React 应用程序的上下文中思考。在 React 应用程序的情况下,默认情况下优化 React UI 组件要容易得多,只需用 mobx-react observer
装饰它们。由于 mobx
.
但它的用例不限于创建可观察的应用程序状态,系统中还有其他 "things" 或您想 "observe" 的用例。
也就是说,当我开发 Redux/React 应用程序时,我没有发现比使用 mobx 时自由度更低。随着时间的推移,出现了指导人们的最佳实践和工具,Redux 生态系统似乎可以解决构建应用程序的各个方面。只是 Redux 旨在从一开始就创建应用程序状态的表示。正如另一个答案中所解释的,mobx-state-tree
更等同于它。