如何使这个switch case语句更简洁?

eti*_*eti 1 javascript reactjs redux

  switch (action.type) {
    case 'FETCH_USER_REQUEST':
    case 'FETCH_USER_SUCCESS':
    case 'FETCH_USER_FAILIURE':
      return { ...state, loading: action.payload.loading, ...action.payload.data };
    case 'UPDATE_USER_REQUEST':
    case 'UPDATE_USER_SUCCESS':
    case 'UPDATE_USER_FAILIURE':
      return { ...state, loading: action.payload.loading, ...action.payload.data };
Run Code Online (Sandbox Code Playgroud)

目前我有一个这样的开关语句,你可以看到我不断调用REQUEST,SUCCESS,FAILURE.我想要一个创建一个案例的函数,让我检查'FETCH_USER',它会为REQUEST,SUCCESS,FAILURE创建案例.

我尝试了类似的东西,case action.type.includes('FETCH_USER')但这只会匹配'FETCH_USER_REQUEST'的第一个结果并返回.所以我需要一个函数按顺序制作三个案例.

Kos*_*ery 7

恕我直言,它可以用一个简单的if声明代替:

if (/(FETCH|UPDATE)_USER/.test(action.type))
      return { ...state, loading: action.payload.loading, ...action.payload.data };
Run Code Online (Sandbox Code Playgroud)