【发布时间】:2020-01-17 07:18:33
【问题描述】:
mobx 比 redux 更容易学习和应用,但不确定它是否会为大型企业应用程序引入任何阻塞或缺点。
如果有人将 mobx-react-lite 用于企业应用程序,请分享您的经验? Redux 仍然是最好的状态管理吗?即使在上下文 API 和钩子之后:(
【问题讨论】:
-
使用redux man; redux 适合大规模使用
mobx 比 redux 更容易学习和应用,但不确定它是否会为大型企业应用程序引入任何阻塞或缺点。
如果有人将 mobx-react-lite 用于企业应用程序,请分享您的经验? Redux 仍然是最好的状态管理吗?即使在上下文 API 和钩子之后:(
【问题讨论】:
简短的回应:当然,它适用于大型应用程序。
也就是说,你不能真的将 Mobx 与 Redux 进行比较。
Mobx 是一个库,可让您使用 观察者模式 实现功能。 Redux 是一个专门用于状态管理的库。因此,对于 Mobx,进行状态管理只是它提供的一种可能性。例如,我用它在前端和后端(Nodejs)之间共享一些模型,所以它的工作量较少。 但是,由于它的级别较低,因此您需要自己弄清楚一些事情,例如如何构造您的状态,模型之间的关系以及依赖注入。另一方面,Redux 的优势在于更有主见,拥有庞大的社区,您可以更轻松地找到解决方案。
根据每个人自己的经验,我个人在大大小小的应用程序中都使用裸 Mobx,并且不会回到 Redux,这会使一切变得复杂。在实践中,我见过一些代码库,其中开发人员“作弊”并实施反模式以跳过 Redux 附带的一些样板,破坏了可预测性的所有好处。
你可以看看mobx-state-tree,这是一个基于 Mobx 的应用状态解决方案,比如 Redux。 (我没用过,因为我更喜欢裸 Mobx 的灵活性)。
总而言之,没有理由 Mobx 对大型应用程序最不利。 Redux 与包括 Mobx 在内的任何工具一样,没有任何特别之处可以防止代码库变得一团糟。
编辑:还有一个使用 mobx 进行状态管理的新项目。我没试过。 mobx-keystone
【讨论】: