减速器中的多个减速器或多个磁场

时间:2017-12-18 17:06:48

标签: redux

我有LOGIN_SUCCESSCREATE_ACCOUNT_SUCCESS个动作。

它们都应填充user reducer:

中的auth字段
const initialState = {
    user: null,
    isLoading: false,
    error: null
};

我还有LOGIN_FAILURECREATE_ACCOUNT_FAILURE个动作。在这两个操作上,我想在状态中保留错误消息。

但我不想为登录和创建帐户页面提供相同的错误消息。

在这种情况下如何处理error字段?我应该在这样的状态下创建2个错误字段:

 const initialState = {
    user: null,
    isLoading: false,
    loginError: null, // <-----
    registrationError: null // <-----
};

或者更好的是为登录和创建帐户设置单独的缩减器?创建帐户减少器只会保留错误消息。 auth(登录)reducer将同时处理LOGIN_SUCCESSCREATE_ACCOUNT_SUCCESS个操作并保留user字段。

1 个答案:

答案 0 :(得分:1)

我不认为你在这里遇到大问题:登录和注册是不同的事情,他们需要不同的错误状态。为每个人都有一个价值并将它们分开。你可能最终还是会在reducer中处理注册的其他东西(这些东西永远都不会简单!)