gpt4 book ai didi

javascript - 如何使这个 switch case 语句不那么冗长?

转载 作者:行者123 更新时间:2023-11-30 07:07:16 26 4
gpt4 key购买 nike

  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 };

目前我有一个这样的 switch 语句,如您所见,我不断调用 REQUEST、SUCCESS、FAILURE。我想要一个函数来创建一个让我检查的案例'FETCH_USER',它会为 REQUEST、SUCCESS、FAILURE 创建案例。

我已经尝试过类似 case action.type.includes('FETCH_USER') 的方法,但这只会匹配“FETCH_USER_REQUEST”的第一个结果并返回它。所以我需要一个函数来按顺序处理这三种情况。

最佳答案

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

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

关于javascript - 如何使这个 switch case 语句不那么冗长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51314565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com