问答

useReducer使用问题?

作者:admin 2021-04-22 我要评论

管理的公共状态过多怎样处理reducer过大,已经将非公共状态交给组件内部useState处理,主要提升上来的状态组合太多,导致case判断很多,拆分reducer,感觉也没法...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

管理的公共状态过多怎样处理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管理状态没啥区别,还有什么方法?

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • useReducer使用问题?

    useReducer使用问题?

  • 可重复读的一个小问题

    可重复读的一个小问题

  • 解析json数据,创建dom元素,怎么使用s

    解析json数据,创建dom元素,怎么使用s

  • vue3使用ts获取路由参数如何定义数据类

    vue3使用ts获取路由参数如何定义数据类

腾讯云代理商
海外云服务器