我在react/redux应用程序中有一个后台上传过程,它经常更新.我的减速机看起来像这样:
export default function progressReducer(state = initialState, action = {}) {
switch (action.type) {
case PROGRESS_TOTAL_INCREASE:
return Object.assign({}, state, {total: state.total + action.amount});
case PROGRESS_CURRENT_INCREASE:
let current = state.current + action.amount, total = state.total;
if (current >= state.total && false) {
state.total = 0;
current = 0;
}
return {total, current};
default:
return state;
}
}
Run Code Online (Sandbox Code Playgroud)
有用.大.但终极版devtool日志填满非常迅速地进步的行动,淹没了其他任何动作.这是正确的方法,还是我应该以不同的方式创建这些通知?
谢谢!
小智 9
如果您使用的是redux devtools chrome扩展,则只需列出应在扩展程序设置中隐藏的操作.
否则,如果您已将其集成到项目中,请检查redux-devtools-filter-actions监视器.
我将首先说出使用你的常识,大多数时候它会做出正确的决定.
这是我的建议
如果多个组件需要跟踪上传进度,最好使用redux.
如果只有特定组件需要跟踪上载进度,则可以只更新该组件状态.
请记住,如果您使用组件状态,则不能再使用纯功能组件......因为它们没有状态
如果你想使用redux但想要保持最小的商店更新,你可以在上传开始和完成时调度动作,并在此基础上你可以渲染一个加载栏..所以视觉上用户将知道上传正在进行中.
归档时间: |
|
查看次数: |
2197 次 |
最近记录: |