【问题标题】:Javascript React Switch Case with dynamic keys?带有动态键的Javascript React Switch Case?
【发布时间】:2019-03-21 08:14:08
【问题描述】:
const changeSelectValue = (state, action) => {
switch (action.id) {
    case 'myFirstKey':
        updatedState = {
            ...state,
            myFirstKey: action.value
        }
    case 'mySecondKey':
        updatedState = {
            ...state,
            mySecondKey: action.value
        }
        break;
    default:
        break;
}}

我真的找不到解决方案或不知道如何搜索它,所以也许你可以提供帮助。这个 switch case 通过 action.id 更新 state 中的 key

由于我有很多不同的键要处理,这个开关盒变得非常长,必须有办法让这种方式更简单,但我无法让它工作。谢谢!

【问题讨论】:

    标签: javascript reactjs dynamic switch-statement key


    【解决方案1】:

    如果它是动态的,则不需要开关。

    const changeSelectValue = (state, action) => {
      updatedState = {
        ...state,
        [action.id]: action.value
      }
    }
    

    【讨论】:

    • 当你的代码从 600 行变成 6 行时的那种感觉 ;;;;;;;-)
    • 非常感谢!我一直在想念刹车:)
    【解决方案2】:

    你可以试试:

    const changeSelectValue = (state, action) => {
       let updatedState = {...state}
       updatedState[action.id] = action.value
       return updatedState
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-14
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      相关资源
      最近更新 更多