Ton*_*y D 4 oop backbone.js redux
我有 OOP 背景,正在学习 Redux。似乎我对 Redux 了解得越多,我就越意识到它与 OOP 范式的对比是如何通过采用更多的函数式构造来实现的。
\n\n也就是说,我从未使用过 Backbone,但我在有关从 Backbone 模型迁移的 redux 文档中遇到了这一点:
\n\n\n\n\nBackbone 的模型层与 Redux 有很大不同,因此我们不建议混合它们。如果可能的话,最好从头开始重写应用程序的模型层,而不是将 Backbone 连接到 Redux...
\n
来源:\n https://github.com/reactjs/redux/blob/master/docs/recipes/MigrationToRedux.md#from-backbone
\n\n此外,我发现最初,这只是这样写的:
\n\n\n\n\n\n\n抱歉,您\xe2\x80\x99需要重写您的模型层。\n它\xe2\x80\x99太不同了!
\n
Sooo...Dan 是不是说要重写模型层,因为模型(例如来自 Backbone 的模型)本质上是面向对象的,而 redux 规定了更实用的范例?
\n是和不是。您需要重写数据内容,使其不再是模型,而是状态中的 POJO。它们看起来很像模型,而且它们绝对是对象,但它们不能有方法。好吧,从技术上讲,他们可以,甚至可能不是问题,但不鼓励这样做,因为状态应该是可序列化的。
因为我更喜欢设置属性和调用方法,而不是调度操作,而且因为我喜欢将代码附加到数据中,所以我编写了一个库,可以让您使用模型而不是标准的 Redux 操作创建者/操作/调度/减速器范例。在底层,它是 100% Redux,但 Dev API 都是 OOP。这样它就具有 Redux 的所有优点和 OOP 的所有优点。您可能会发现它减轻了您表达的一些担忧。
但你仍然需要重写你的模型层。