我有一个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
}
}
]
}
}
在同一项目上存储不同加载操作的最佳做法是什么?
答案 0 :(得分:1)
您应将string
存储为action
的值,如:
store : {
todos: {
items: [
{
id: 5,
text: "foo bar",
action: "changing", // or "deleting"
}
]
}
在旁注 - 你应该尽可能保持你的状态正常化 您可以在normalizr
上详细了解相关信息