MobX具有观察者的React最佳实践

问题描述 投票:1回答:1

我并没有真正面对一个问题,这更像是我想知道应该使用mobx进行反应的最佳方法是什么。所以这是我的情况:

我对mobx相当陌生,但是我有多年使用react的经验(主要是redux)。我的新项目将mobx-state-treemobx-react-lite一起使用,以便将我的组件与包装组件的函数observer连接起来。我已经建立了一个包含多个存储的根存储。我现在真的很热心,但是我想提出一些建议:

我应该使用与redux相当普遍的容器逻辑,这意味着我应该仅连接一个“容器”组件,该组件将处理与我的商店的连接并将其分发给其子级?还是应该直接与观察者连接尽可能多的组件,这些组件需要从商店中获取数据?

从技术上讲,第二个选项是否更优化?根据React哲学,这还是个好主意吗?您对这个问题有何看法?

任何答案都将不胜感激

reactjs mobx mobx-react mobx-state-tree mobx-react-lite
1个回答
1
投票

从技术上讲,您不需要容器/表示概念。您可以使用上下文,localStore或globalStore,但这并不意味着容器/表示有时无用。

Mobx修补程序shouldComponentUpdate生命周期,并基本上为您优化了组件渲染。mobx-react在他们的文档中提到,与观察者连接的组件越多,越好。

这是很常见的模式,应该对shouldComponentUpdate进行大量检查以避免不必要的渲染。 MobX完全不需要这样做。

我的观点是,模式每月变化,因此学习一般概念可以简化从全局存储,本地存储,上下文,挂钩和其他api更改的过渡。

反应组件模式也会随着时间而变化。

立即使用您需要的内容并了解。如果5年后没关系,则不要花费超过5分钟的时间来考虑它。您可以随时进行有趣的重构。

进一步阅读:

https://mobx.js.org/README.html

https://mobx-react.js.org

© www.soinside.com 2019 - 2024. All rights reserved.