在Redux应用程序中定义记录方法的位置

时间:2017-02-08 15:10:16

标签: redux react-redux immutable.js

我正在使用React + Redux + Immutable JS构建一个应用程序,并且遇到了一些架构问题。为了说明,我将使用我的slice记录作为示例。 user对象是一个不可变记录,在用户reducer中定义。现在我想为这个用户定义一些方法(例如,isCurrentUser(userId),它将返回一个布尔值,并且可以在任何用户实例上调用)。从我收集的内容来看,状态应该只是普通的对象(参考:How to put methods onto the objects in Redux state?

但是,由于此方法不会更改应用程序的状态,因此使用典型的Redux流程也没有意义。我可以在不可变记录中定义方法,或者我应该在单独的JS文件中定义一些帮助方法。或许还有其他一些我没有想过的东西?

1 个答案:

答案 0 :(得分:1)

您可以创建一个名为“services”的新图层,并将此方法放入其中。因此,您可以使用像。:

这样的服务/ UserSession
2017-02-09 10:31:20,794 ERROR akka.remote.EndpointWriter                
- dropping message [class akka.actor.ActorSelectionMessage] for non-local recipient
[Actor[akka.tcp://flink@10.0.42.7:6123/]] arriving at [akka.tcp://flink@10.0.42.7:6123]
inbound addresses are [akka.tcp://flink@0.0.0.0:6123]

对你有帮助吗?