首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >减少redux-thunk样板代码

减少redux-thunk样板代码
EN

Stack Overflow用户
提问于 2018-06-23 02:44:19
回答 1查看 56关注 0票数 0

我使用的是redux-thunk中间件,它处理得很好,但是异步操作很好,但是我有太多的样板要编写,如何减少呢?

代码语言:javascript
复制
export function userReducer(state = {
  signup_loading: false,
  signup_failed: '',
  signup_error: '',
  login_loading: false,
  login_failed: '',
  login_error: ''
}, { payload, payload: { data, error } }) {
  switch (action.type) {
    case SIGNUP_REQUEST:
      return {
        signup_loading: true
      }
    case SIGNUP_SUCCESS:
      return {
        signup_loading: false,
        data
      }
    case SIGNUP_FAILED:
      return {
        signup_loading: false,
        signup_error: error
      }
    case LOGIN_REQUEST:
      return {
        login_loading: true
      }
    case LOGIN_SUCESS:
      return {
        login_loading: false,
        data
      }
    case LOGIN_FAILED:
      return {
        login_loading: false,
        login_error: error
      }
    default: return state
  }
}

对于整个应用程序中的每个http调用,我都想做类似的事情:

  • 在请求之前,我想为每个http调用显示加载程序。
  • 装载机完成后隐藏起来
  • 如果出现错误,请停止加载程序并显示错误消息

我不想把上面的代码复制到所有的减速机上

EN

回答 1

Stack Overflow用户

发布于 2018-06-23 03:22:23

您可以保持单独的操作,例如,SHOW_LOADER、HIDE_LOADER来处理加载程序。当您发出web调用或api调用返回时,可以分派这些操作。可以从应用程序的任何位置分派这些操作来处理加载程序状态。你必须把它写在一个减速机里,它可以从任何地方调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50997520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档