Redux 是在要求我们不要使用 OOP 吗?
Is Redux asking us not to use OOP?
我有 OOP 背景,正在学习 Redux。似乎我对 Redux 了解得越多,我就意识到它与 OOP 范式的对比是如何通过使用更多的功能结构来实现的。
也就是说,我从未使用过 Backbone,但我在 redux 文档中遇到了关于从 Backbone 模型迁移的问题:
Backbone's model layer is quite different from Redux, so we don't suggest mixing them. If possible, it is best that you rewrite your app's model layer from scratch instead of connecting Backbone to Redux...
来源:
https://github.com/reactjs/redux/blob/master/docs/recipes/MigratingToRedux.md#from-backbone
此外,我发现最初,这只是阅读:
Sorry, you’ll need to rewrite your model layer.
It’s way too different!
Sooo... Dan 是说要重写你的模型层,因为模型(例如来自 Backbone 的模型)本质上是面向对象的,而 redux 规定了更具功能性的范例?
是也不是。您需要重写您的数据内容,使其不是模型,而是状态中的 POJO。它们可以看起来很像模型,它们绝对是对象,但它们不能有方法。好吧,从技术上讲他们可以,甚至可能不是问题,但不鼓励这样做,因为状态应该是可序列化的。
因为我更喜欢设置属性和调用方法而不是分派操作,并且因为我喜欢将我的代码附加到我的数据,所以我 wrote a library 让您可以使用模型而不是标准的 Redux 操作 creator/action/dispatch/reducer范式。在引擎盖下,它是 100% Redux,但 Dev API 完全是 OOP。这样它就拥有了 Redux 的所有好处和 OOP 的所有好处。您可能会发现它减轻了您表达的一些担忧。
但是你还是得重写你的模型层
我有 OOP 背景,正在学习 Redux。似乎我对 Redux 了解得越多,我就意识到它与 OOP 范式的对比是如何通过使用更多的功能结构来实现的。
也就是说,我从未使用过 Backbone,但我在 redux 文档中遇到了关于从 Backbone 模型迁移的问题:
Backbone's model layer is quite different from Redux, so we don't suggest mixing them. If possible, it is best that you rewrite your app's model layer from scratch instead of connecting Backbone to Redux...
来源: https://github.com/reactjs/redux/blob/master/docs/recipes/MigratingToRedux.md#from-backbone
此外,我发现最初,这只是阅读:
Sorry, you’ll need to rewrite your model layer. It’s way too different!
Sooo... Dan 是说要重写你的模型层,因为模型(例如来自 Backbone 的模型)本质上是面向对象的,而 redux 规定了更具功能性的范例?
是也不是。您需要重写您的数据内容,使其不是模型,而是状态中的 POJO。它们可以看起来很像模型,它们绝对是对象,但它们不能有方法。好吧,从技术上讲他们可以,甚至可能不是问题,但不鼓励这样做,因为状态应该是可序列化的。
因为我更喜欢设置属性和调用方法而不是分派操作,并且因为我喜欢将我的代码附加到我的数据,所以我 wrote a library 让您可以使用模型而不是标准的 Redux 操作 creator/action/dispatch/reducer范式。在引擎盖下,它是 100% Redux,但 Dev API 完全是 OOP。这样它就拥有了 Redux 的所有好处和 OOP 的所有好处。您可能会发现它减轻了您表达的一些担忧。
但是你还是得重写你的模型层