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

React项目出现no-unused-expressions错误,求代码修复方案

修复ESLint错误:no-unused-expressions(React项目)

错误原因

你的代码触发no-unused-expressions规则,核心是运算符优先级问题:JavaScript会先把setScore (score >= 80)解析成函数调用(参数是score >=80的布尔值),剩下的? "A" : ...就变成了没有被使用的孤立表达式,这违反了ESLint禁止无意义表达式的规则。

修复方案

方案1:给三元表达式加括号

直接把整个三元运算结果作为setScore的参数传递,加括号明确优先级,快速解决问题:

const handleIndexScore = () => { 
  setScore((score >= 80) ? "A" : (score >= 70) ? "B" : (score >= 60) ? "C" : (score >= 50) ? "D" : "E");
}

方案2:提取三元结果到变量(推荐)

把评分逻辑抽成独立变量,代码可读性更高,也能彻底避免优先级类问题:

const handleIndexScore = () => { 
  const grade = score >= 80 ? "A" : 
               score >= 70 ? "B" : 
               score >= 60 ? "C" : 
               score >= 50 ? "D" : "E";
  setScore(grade);
}

方案3:改用if-else逻辑(适合复杂条件)

如果后续评分规则可能调整,用if-else的写法可读性更强,维护成本更低:

const handleIndexScore = () => { 
  let grade;
  if (score >= 80) {
    grade = "A";
  } else if (score >= 70) {
    grade = "B";
  } else if (score >= 60) {
    grade = "C";
  } else if (score >= 50) {
    grade = "D";
  } else {
    grade = "E";
  }
  setScore(grade);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 19:37:10