You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactJS报Expected property shorthand object-shorthand错误如何解决

报错原因

你遇到的Expected property shorthand object-shorthand是ESLint的规则校验提示,触发原因是你在定义对象时,出现了属性名和对应值的变量名完全一致的写法(你代码里的comCod: comCod),ESLint要求这类场景使用对象简写语法简化书写。

另外注意你当前的写法逻辑不符合你的需求:你定义的valoreComune本身是带有comCod属性的对象,用const entity = { valoreComune }简写后,最终entity的结构是{ valoreComune: { comCod: xxx } },并不是你需要的{ comCod: xxx }结构。

解决方案

方案1:修正语法和结构(推荐)

直接给entity的comCod属性赋值,同时符合ESLint简写规则:

const saveEntity = (event, errors, values) => {
  // ...其他逻辑
  const entity = {
    // 其他属性
    comCod: comCod ? { comCod } : personEntity.comCod ? { comCod: personEntity.comCod.comCod } : null
  }
  // ...后续请求逻辑
}

如果一定要保留valoreComune变量的定义,把赋值行的重复写法改成简写即可:

const valoreComune: any = comCod ? { comCod: { comCod } } : personEntity.comCod ? { comCod: { comCod: personEntity.comCod.comCod } } : { comCod: null };
// entity赋值时要提取comCod属性,不要直接用valoreComune简写
const entity = {
  // 其他属性
  comCod: valoreComune.comCod
}

方案2:临时禁用该行校验

如果不需要遵循该ESLint规则,可以在报错行末尾添加注释跳过校验,仅适用于特殊场景:

// eslint-disable-next-line object-shorthand
const valoreComune: any = comCod ? { comCod: { comCod: comCod } } : personEntity.comCod ? { comCod: { comCod: personEntity.comCod.comCod } } : { comCod: null };

内容的提问来源于stack exchange,提问作者Jack23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:06:04