【问题标题】:How to structure the Model for Redux ORM如何为 Redux ORM 构建模型
【发布时间】:2019-03-10 23:43:15
【问题描述】:

我从服务器收到类似于以下格式的响应。

{"channels": [{"name":"discovery", "id":"12", 
              "details":{"src":"link", "logo":"imagelink"}}]

我打算使用 Redux-Orm 来管理 store 中的状态。当我试图定义模型时,我感到困惑。一种方法是定义通道模型,名称和id作为属性,详细信息作为一对一映射,详细信息模型与src,标志属性如下。

const channel = class Channel extends Model {};
channel.fields = {
   name: attr(),
   id: attr(),
   details: oneToOne('details', 'channels')
}

const details = class Details extends Model {};
details.fields = {
   src: attr(),
   logo: attr()
}

或者我应该定义一个代表响应的模型类吗?如果有,如何定义和访问?

【问题讨论】:

    标签: javascript reactjs redux-orm


    【解决方案1】:

    如果你想要一个Detail 模型,你的后端必须用id 来识别它,就像Channel 模型一样,然后你可以做一个oneToOne 关系。

    话虽如此,使用一个或两个模型完全取决于它们在您的应用中的交互方式,并且可能会增长。如果您的 details 字段不会增长太多,我完全个人的观点是将其保留在单个 Channel 模型中。您可以通过channel.detailschannel.details.src 透明地访问它。

    IMO,oneToOne 这样的简单关系不需要特定的模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-20
      • 2017-03-12
      • 2013-04-06
      • 2019-10-25
      • 2013-05-02
      • 2018-06-17
      • 1970-01-01
      • 2017-11-03
      相关资源
      最近更新 更多