我有一个减速器,当一个动作被调度时,我正在重新调整适当的状态。现在我定期调用一个 API,所以结果会一次又一次地触发一个动作。所以我想要的是,如果reducer 状态已经有数据,那么另一个reducer 在发送调用时不会将状态显示为正在加载。只有第一次接收数据时,它必须保持其加载状态。我希望我能够正确地解释它
这是我的代码片段
加载状态减速器
const loading = (state = false, action) => {
    switch (action.type) {
    case 'GET_AUDIT_DATA':         // here I want to return true only when there is no data available
        return true
    case 'GET_AUDIT_DATA_RECEIVED':  
        return false
    case 'GET_AUDIT_DATA_ERROR':
        return false
    default:
        return state
    }
}
组合减速机
const allReducers = combineReducers({
    auditData: AuditData,
    auditLoading: AuditLoading,
    modifiedOrders: ModifiedOrders
});
export default allReducers;
Reducer 返回有关超级代理触发的操作的数据
const auditData = (state = [], action) => {
    switch(action.type) {
        case 'GET_AUDIT_DATA_RECEIVED': 
        console.log(action.data);
            return action.data;
        case 'GET_AUDIT_DATA_ERROR': 
            return action.err;
        default :
            return state;
    }
}
export default auditData;
所以最初auditData不包含任何数据,只有在第一次成功调用后才返回数据。当它同时loading state reducer被调用时,它应该GET_AUDIT_DATA只在审计数据reducer不包含任何数据时才返回true 。
也只是从auditData正确的方式返回当前获得的数据,或者我应该以不同的方式做。基本上我想overwrite的current data与new one。