我一直在使用Vuex,它坚持只在mutators
或actions
之间改变状态,这让我觉得你的store 应该只包括尽可能平坦的对象,只有基本类型.
有些线程甚至规定对数据进行规范化(因此,不用嵌套对象树,而是使用id数组来指示树关系的对象).这可能与您的JSON api非常匹配.
这让我觉得在flux存储中存储类(可能有methods to alter themselves个)是一种反模式.事实上,即使将存储的数据水合到一个类中,似乎也在逆潮流而动,除非您的类不对其内部数据执行任何修改.
这让我想到,在Vue/Vuex/Reactive/Flux中使用any类是否是一种反模式?
这些库似乎被明确设计用于处理普通的JS对象,而您与API之间的一般交互(数据输入、数据输出)让我感觉像是一种更具功能性的方法(sans不变性),这正是最初的设计人员所考虑的.
编写从function => test => state mutator wrapper around function
开始运行的代码似乎也更容易.
我知道JS对象和JS类的行为非常相似(基本上是一样的),但我的逻辑是,如果你是don't design with classes in mind,那么你更有可能是not pollute your state with non-flux state changes.
社区中是否普遍认为flux代码应该更具功能性,更少面向对象?