【发布时间】:2018-04-28 06:28:10
【问题描述】:
例如,我有一个 reducer 来操作用户状态,例如创建用户、编辑、获取用户。
我应该为每个动作创建状态吗,例如:
{
loadingForFetching: false,
fetchingResult: null,
fetchingError: '',
loadingForEditing: false,
editingResult: null,
editingError:'',
loadingForCreating: false,
creatingResult: null,
creatingError: ''
}
或者让三个动作共享同一个状态:
{
loading: false,
result: null,
error: ''
}
我认为共享一个是个坏主意,因为当同时获取和创建用户时,如果一个动作完成了,通过将加载设置为false,它可能会误导另一个动作也完成了。不过用例很少,可能是我太担心了
我说的对吗?
【问题讨论】:
-
“结果”字段除了null还包含什么?
-
@MattiVirkkunen 可能是获取结果;或创建请求响应
-
“抓取结果”和用户实体本身有区别吗?
-
@MattiVirkkunen no
-
在这种情况下,我认为您的
fetchingResult应该被称为users并且是一个数组。
标签: reactjs redux react-redux