Redux存储针对不同加载操作的结构

时间:2016-06-01 10:22:20

标签: redux

我有一个TodoList,可以更改,删除等单个Todos。当TodoItem被更改时,会发出Http请求。我想阻止提交按钮并向用户显示它正在加载。但我正在努力解决如何构建商店的问题。

我提出的一个想法是为每个TodoItem添加一个标记,例如更改,删除等,但这个解决方案似乎有点麻烦:

store : {
  todos: {
    items: [
      {
        id: 5,
        text: "foo bar",
        action: {
          changing: true, // Is set after user submitted change until server response
          deleting: false // Is set after user clicked delete button until server response
        }
      }
    ]
  }
}

在同一项目上存储不同加载操作的最佳做​​法是什么?

1 个答案:

答案 0 :(得分:1)

您应将string存储为action的值,如:

    store : {
      todos: {
        items: [
          {
           id: 5,
           text: "foo bar",
           action: "changing", // or "deleting"
         }
       ]
    }

在旁注 - 你应该尽可能保持你的状态正常化 您可以在normalizr

上详细了解相关信息