MobX与React的最佳实践:使用observer

3

我没有真正遇到问题,更像是想了解在React中如何最好地使用mobx。我的情况如下:

我对mobx相当新,但我有多年使用react(主要使用redux)的经验。 我的新项目使用mobx-state-tree以及mobx-react-lite来连接我的组件,并使用函数observer包装组件。我设置了一个根存储器,并将多个存储器放入其中。 目前我对此非常热情,但我想听听一些建议:

我应该使用容器逻辑,这在Redux中相当普遍,这意味着我只需要连接一个“容器”组件,它将处理与我的存储器的连接并将其传播到其子级?还是应该直接连接许多需要从存储器提供数据的组件,作为观察者?

从技术上讲,第二个选项更优化吗?从React的哲学角度来看,这仍然是一个好主意吗?您对此有什么看法?

任何答案都将不胜感激。

1个回答

2
从技术上讲,您不需要容器/演示概念。您可以使用上下文、localStore或globalStore,但这并不意味着容器/演示有时没有用处。
Mobx补丁shouldComponentUpdate生命周期,并基本上为您优化组件渲染。 mobx-react在其文档中提到,连接了更多的观察者组件越好。
引用: 看到shouldComponentUpdate与臃肿检查的常见模式以避免不必要的渲染。这在MobX中根本不需要。
我认为模式每月都会改变,因此学习一般概念可以使您从全局存储、本地存储、上下文、钩子和其他API更改中轻松过渡。
React组件模式也随着时间改变。
现在使用您需要并理解的东西。如果在5年内无关紧要,请不要花费超过5分钟来考虑它。您始终可以进行有趣的重构。
进一步阅读:

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

https://mobx-react.js.org


正如您可能已经注意到的那样,这个问题现在已经几周了,所以我基本上是自己得出了这个结论。但是您的答案仍然让我更加清晰地理解了它。我相信它可以帮助其他有类似问题的人。谢谢啊伙计! - LucasW

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接