一尘不染

如何在对象内部设置条件值?

javascript

由于某种原因我的代码拒绝编译,我试图通过在 set state 对象中创建一个条件值来保存代码?如何将条件值作为值注入动态键?

if (value === 'foo') {
  setErr({ ...inicialErrState,
    // specific value has an array the others only boolean
    fixedValue: [true, '']
  });
} else {
  setErr({ ...inicialErrState,
    [value]: true
  });
}


// Not working 
setErr({ ...inicialErrState,
  (errArr: value === 'fixedValue' ? [true, ''] : true)
});

// Not working 
setErr({ ...inicialErrState,
  value === 'fixedValue' ? {
    fixedValue: [true, '']
  } : {
    [value]: true
  },
});

阅读 90

收藏
2022-07-26

共1个答案

一尘不染

尝试这个:

setErr({ 
  ...inicialErrState, 
  ...(value === 'foo' ? { [value]: true } : { fixedValue: [true, ''] })
})
2022-07-26