我应该将请求状态放在通量标准操作中的哪个位置?

时间:2016-11-22 23:23:08

标签: redux flux

如果我想将多个状态的操作类型标准化为单一类型并将状态作为属性,那么我应该在flux标准操作中设置它?在有效载荷中还是在元?

例如,不是有3种动作类型:

redux-thunk

我只有一种动作类型

export const LOGIN_REQUEST = 'LOGIN_REQUEST'; export const LOGIN_SUCCESS = 'LOGIN_SUCCESS'; export const LOGIN_FAILURE = 'LOGIN_FAILURE';

如果action.error!== null,我可以假设失败,否则就会成功。但是,我应该在哪里放置表明它正在等待结果的状态,或者它已经开始异步请求,即BEGIN或REQUESTED状态。

这是否有可接受的标准?我应该在meta上设置一个名为“isFetching”的属性还是类似的东西?

我想有很多方法可以做到这一点 - 但我希望在Flux标准行动中有一个标准。

1 个答案:

答案 0 :(得分:0)

你的有效载荷可以有3个“形状”可以这么说......有一个“。error”属性,一个“.response”属性,既没有“.error”也没有“.response”。在异步提取开始时,您将没有.response和no .error(相当于LOGIN_REQUEST)。如果发生错误,则有效负载将具有非null .error(相当于LOGIN_FAILURE)。如果请求成功,则payload将具有非null .response属性(相当于LOGIN_SUCCESS)