【问题标题】:Many to Many relationships in Redux storeRedux 商店中的多对多关系
【发布时间】:2021-04-23 10:06:00
【问题描述】:

我在 Laravel 中创建了多对多关系,我想用它创建商店。例如我有这个代码:

const INITIAL_PEOPLE = {
    all: [
      {name: "John", city: "NY"}
    ]
}

任何人都有一个标签(多对多关系)。对我来说,最好的方法是让我的商店看起来像这样(除非您有其他想法,我该如何实现和显示具有这种关系的元素):

const INITIAL_PEOPLE = {
    all: [
      {name: "John", city: "NY", tags: [id: 1, name: "new_tag"]}
    ]
}

这是类似于商店外观的示例,但只有数据是服务器并由减速器添加。那么如何使用reducer创建这种store结构(或者用其他方式解决这个问题)?

【问题讨论】:

    标签: reactjs redux relationship


    【解决方案1】:

    你可以在 api-response 中规范化数据对象,然后再将它们存储到 redux 中。

    您可以按如下方式保存数据:

    假设:每个人都有一个唯一的 ID。

    ReduxStoreState:
    {
       "people":{
          "id_1":{
             "id":"id_1",
             "name":"John",
             "city":"NY"
          },
          "id_2":{
             "id":"id_2",
             "name":"Matt",
             "city":"NJ"
          }
       },
       "tagsByPeople":{
          "id_1":[
             {
                "id":1,
                "name":"new_tag"
             }
          ]
       }
    }
    

    现在您可以通过提供person-ID 来编写selectors 来获取标签

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-16
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      • 2018-11-07
      • 1970-01-01
      相关资源
      最近更新 更多