我并没有真正面对一个问题,这更像是我想知道应该使用mobx进行反应的最佳方法是什么。所以这是我的情况:
我对mobx
相当陌生,但是我有多年使用react
的经验(主要是redux
)。我的新项目将mobx-state-tree
与mobx-react-lite
一起使用,以便将我的组件与包装组件的函数observer
连接起来。我已经建立了一个包含多个存储的根存储。我现在真的很热心,但是我想提出一些建议:
我应该使用与redux相当普遍的容器逻辑,这意味着我应该仅连接一个“容器”组件,该组件将处理与我的商店的连接并将其分发给其子级?还是应该直接与观察者连接尽可能多的组件,这些组件需要从商店中获取数据?
从技术上讲,第二个选项是否更优化?根据React哲学,这还是个好主意吗?您对这个问题有何看法?
任何答案都将不胜感激
从技术上讲,您不需要容器/表示概念。您可以使用上下文,localStore或globalStore,但这并不意味着容器/表示有时无用。
Mobx修补程序shouldComponentUpdate
生命周期,并基本上为您优化了组件渲染。mobx-react
在他们的文档中提到,与观察者连接的组件越多,越好。
这是很常见的模式,应该对shouldComponentUpdate进行大量检查以避免不必要的渲染。 MobX完全不需要这样做。
我的观点是,模式每月变化,因此学习一般概念可以简化从全局存储,本地存储,上下文,挂钩和其他api更改的过渡。
反应组件模式也会随着时间而变化。
立即使用您需要的内容并了解。如果5年后没关系,则不要花费超过5分钟的时间来考虑它。您可以随时进行有趣的重构。
进一步阅读: