Javascript 在redux减速器的设定加载状态下干燥
我要带一个真实的案例,这样我才能更好地解释它。我有一个用户可以申请工作的网络应用程序,所以我有一个工作缩减器,操作将是创建工作、创建工作、获取工作、获取工作、复制工作、获取工作、应用工作、应用工作、创建工作、伪造工作等 起初,我认为加载状态很容易,我有这样的初始状态Javascript 在redux减速器的设定加载状态下干燥,javascript,reactjs,redux,Javascript,Reactjs,Redux,我要带一个真实的案例,这样我才能更好地解释它。我有一个用户可以申请工作的网络应用程序,所以我有一个工作缩减器,操作将是创建工作、创建工作、获取工作、获取工作、复制工作、获取工作、应用工作、应用工作、创建工作、伪造工作等 起初,我认为加载状态很容易,我有这样的初始状态 const initialState = { loading: true } 然后在创建的作业中,将其设置为false。但这并不适用于所有情况,我不能为所有人共享一个加载状态。所以,后来,我给它们命名并做了这个 const
const initialState = {
loading: true
}
然后在创建的作业中,将其设置为false。但这并不适用于所有情况,我不能为所有人共享一个加载状态。所以,后来,我给它们命名并做了这个
const initialState = { creating_job_loading: true,
fetching_job_loading: true, fecthing_jobs: true //etc }
我如何使这个更干燥?有没有一个中间件可以处理这个问题?作为一个学习者,我喜欢这种方法。如果我没有误解,您希望保持全局加载状态。因此,请创建一个进度或加载状态,然后使用以下减速器:
const progressReducer = ( state = 0, action ) => {
switch ( action.type ) {
case INCREMENT_PROGRESS:
return state + 1;
case DECREMENT_PROGRESS:
return Math.max( state - 1, 0 );
default:
return state;
}
};
对于每个操作,分派增量,当作业完成时分派减量。因此,在每个作业完成之前,您将处于正在进行或正在加载的状态