如何为 Redux ORM 构建模型

How to structure the Model for Redux ORM

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

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

我打算使用 Redux-Orm 来管理商店中的状态。当我尝试定义模型时,我感到困惑。一种方法是定义 Channel Model,name 和 id 作为属性,details 作为一对一的映射,Details Model 带有 src,logo 属性,如下所示。

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()
}

或者我应该定义一个模型 class 来表示响应吗?如果有,如何定义和访问?

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

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

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