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

Where should I put the request status in a flux standard action?

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

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

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

我只会有一种动作类型

export const LOGIN = 'LOGIN';

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

这有公认的标准吗?我应该只在名为 "isFetching" 或类似的元上设置 属性 吗?

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

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