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

如何修复ESLint报错:条件表达式中不必要使用布尔字面量?

解决ESLint "Unnecessary use of boolean literals in conditional expression" 报错

嘿,这个报错其实是ESLint在帮你清理冗余代码呢!你写的value === 'custom' ? true : false完全没必要——因为value === 'custom'本身就会返回一个布尔值(true或者false),额外套一层三元运算符属于画蛇添足,这就是ESLint触发这条规则的原因。

修改方法

直接把整个三元表达式替换成条件本身就行,功能完全一致,代码还更简洁:

修改后的完整代码:

<div style={style}>
  <DatePicker label="From" disabled={value === 'custom'} />
</div> 
<div style={style}>
  <DatePicker label="To" disabled={value === 'custom'} />
</div>

扩展:如果需要反向逻辑

要是你实际需求是当value不等于custom时禁用,那直接用反向条件即可:

disabled={value !== 'custom'}

或者用取反运算符!(不过可读性稍差,更推荐上面的写法):

disabled={!(value === 'custom')}

这样修改后,ESLint的报错就会消失,代码也更符合简洁性规范啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:40:01