管理的公共状态过多怎样处理reducer过大,已经将非公共状态交给组件内部useState处理,主要提升上来的状态组合太多,导致case判断很多,拆分reducer,感觉也没法拆,牵涉到reducer之间相互调用,现在直接这样处理:
const reducer = (state, action) => {
const { payload } = action;
return {...state,...payload} //不用case判断
}
};
const fn=async ()=>{
const res=await fetch(...)
dispach({payload:{items:res.data}}) //组装
dispatch({type:'getItems',payload:{items:res.data}}) //传入type便于阅读,不传也可以
}
这样使用是否可行,这样感觉唯一优势就是那个dispatch,感觉和使用useState管理状态没啥区别,还有什么方法?