我开始以这种方式使用结构化应用程序的概念,我发现自己很想在状态中使用域规则函数,所以我可以重用它们。即使我找不到任何关于它的文档,它看起来也很奇怪,因为各州认为它们应该只有它的属性。例如,假设我有一个董事会状态,暴露了一些由一些动作创建者使用的方法,以确定要分配给商店的动作。是否可以将它置于国家本身?或者我应该为这个动作创建者创建一个公共类并将这个逻辑放在那里?如果两者都没有问题,推荐这个逻辑的地方在哪里?
答案 0 :(得分:0)
这里似乎有些混乱。您的州不应参与确定将哪个行动发送到商店。相反,副作用的性质应该决定行动,然后你的减速器应该根据当前状态和所执行的动作确定如何改变状态。
至于你的一般性问题,只要这些函数是引用透明的,那么放置它们的确切位置并不重要。换句话说,foo.bar()
和bar(foo)
之间的唯一区别就是语法,所以对你感觉更舒服。