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

如何解决ESLint抛出的Must use destructuring props assignment报错

这个报错是ESLint的react/destructuring-assignment规则触发的,要求所有props属性的访问必须使用解构赋值写法,不允许直接通过props.xxx的链式调用读取属性,你传入props的逻辑是正常的,只需要调整组件内读取props的写法即可。

方案1:组件参数直接解构(最推荐)

直接在函数参数位置完成props的解构,写法最简洁:

// 基础写法,解构出user属性
export default function Cadastro({ user }) {
  const Email = user.email;
  console.log(Email);
  const email = Email;
  // 剩余组件逻辑
}

// 也可以直接嵌套解构出email,进一步简化代码
// 注意如果user可能为空,需要加默认值避免解构报错
export default function Cadastro({ user: { email = '' } = {} }) {
  console.log(email);
  // 剩余组件逻辑
}

方案2:组件内部统一解构props

如果不想修改函数参数的写法,可以在组件开头先完成props的解构,同样符合规则要求:

export default function Cadastro(props) {
  const { user } = props;
  const Email = user.email;

  console.log(Email);

  const email = Email;
  // 剩余组件逻辑
}

方案3:禁用对应规则(不推荐)

如果不需要遵循该代码风格规则,可以选择关闭报错:

  • 单行禁用:在报错行上方添加注释 // eslint-disable-next-line react/destructuring-assignment
  • 单文件禁用:在文件顶部添加注释 /* eslint-disable react/destructuring-assignment */
  • 全局禁用:在项目ESLint配置文件中关闭react/destructuring-assignment规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:06:02