Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs MobX与React最佳实践与observer_Reactjs_Mobx_Mobx React_Mobx State Tree_Mobx React Lite - Fatal编程技术网

Reactjs MobX与React最佳实践与observer

Reactjs MobX与React最佳实践与observer,reactjs,mobx,mobx-react,mobx-state-tree,mobx-react-lite,Reactjs,Mobx,Mobx React,Mobx State Tree,Mobx React Lite,我并不是真的面对一个问题,我更像是在想,我应该用什么样的方式来使用mobx和react。我的情况如下: 我对mobx相当陌生,但我有多年使用react的经验(主要使用redux)。 我的新项目正在使用mobx状态树和mobx-react-lite来连接我的组件和包装组件的功能observer。我已经建立了一个根存储,其中包含多个存储。 目前我对此非常感兴趣,但我想提出一些建议: 我是否应该使用redux中非常常见的容器逻辑,这意味着我应该只连接一个“容器”组件,该组件将处理与我的存储的连接并将其

我并不是真的面对一个问题,我更像是在想,我应该用什么样的方式来使用mobx和react。我的情况如下:

我对
mobx
相当陌生,但我有多年使用
react
的经验(主要使用
redux
)。 我的新项目正在使用
mobx状态树
mobx-react-lite
来连接我的组件和包装组件的功能
observer
。我已经建立了一个根存储,其中包含多个存储。 目前我对此非常感兴趣,但我想提出一些建议:

我是否应该使用redux中非常常见的容器逻辑,这意味着我应该只连接一个“容器”组件,该组件将处理与我的存储的连接并将其传播给它的子级?或者我应该直接与一个观察者连接,因为需要从存储中提供数据的组件有很多

从技术上讲,第二个选项是否更优化?根据React哲学,这仍然是一个好主意吗?你对这个问题有什么看法


任何答案都非常感谢

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

Mobx补丁程序
应该更新组件
生命周期,并基本上为您优化组件渲染。
mobx react
在他们的文档中提到,与observer连接的组件越多越好

很常见的情况是,shouldComponentUpdate使用大量检查来避免不必要的渲染。MobX根本不需要这样做

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

React组件模式也会随时间变化

使用你现在需要和理解的东西。如果5年后它不再重要,不要花超过5分钟去思考它。您总是可以进行有趣的重构

进一步阅读:


您可能已经注意到,这个问题已经提出了几个星期了,所以我自己也得出了这个结论。但你的回答还是让我明白了一点。我相信它可以帮助其他有类似问题的人。谢谢你,伙计