Javascript React Switch Case带有动态密钥?

问题描述 投票:0回答:2
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案例通过action.id更新状态内的键

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

javascript reactjs dynamic switch-statement key
2个回答
4
投票

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

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

0
投票

你可以尝试:

const changeSelectValue = (state, action) => {
   let updatedState = {...state}
   updatedState[action.id] = action.value
   return updatedState
}
© www.soinside.com 2019 - 2024. All rights reserved.