在 Redux 应用程序中定义记录方法的位置
Where to define record methods in a Redux app
我正在使用 React + Redux + Immutable JS 构建应用程序并且 运行 遇到了一些架构问题。为了说明,我将以我的 user
记录为例。 user
对象是一个不可变记录,在用户缩减程序中定义。现在我想为这个用户定义一些方法(例如,isCurrentUser(userId),它将 return 一个布尔值,可以在任何用户实例上调用)。据我所知,状态应该只是简单的对象(参考:)
但是,由于此方法不会更改应用程序的状态,因此使用典型的 Redux 流程也没有意义。在我的不可变记录中定义方法对我来说是否可以接受,或者我应该在单独的 JS 文件中定义一些辅助方法。或者还有什么我没有想到的?
您可以创建一个名为 'services' 的新层并将这些方法放入其中。所以,你可以有一个像这样使用的 services/UserSession:
{ isCurrentUser } from './services/UserSession'
isCurrentUser(user)
对你有帮助吗?
我正在使用 React + Redux + Immutable JS 构建应用程序并且 运行 遇到了一些架构问题。为了说明,我将以我的 user
记录为例。 user
对象是一个不可变记录,在用户缩减程序中定义。现在我想为这个用户定义一些方法(例如,isCurrentUser(userId),它将 return 一个布尔值,可以在任何用户实例上调用)。据我所知,状态应该只是简单的对象(参考:
但是,由于此方法不会更改应用程序的状态,因此使用典型的 Redux 流程也没有意义。在我的不可变记录中定义方法对我来说是否可以接受,或者我应该在单独的 JS 文件中定义一些辅助方法。或者还有什么我没有想到的?
您可以创建一个名为 'services' 的新层并将这些方法放入其中。所以,你可以有一个像这样使用的 services/UserSession:
{ isCurrentUser } from './services/UserSession'
isCurrentUser(user)
对你有帮助吗?