当我想检查数组长度时,为什么eslint抛出错误?



为什么eslint抛出错误(no-unused-expression)。我只是想检查数组是否为空,并执行调度。

useEffect(() => {
let totalPrice = 0;
// eslint-disable-next-line no-unused-expressions
cart.length
? cart.forEach((item: AsideItemInterface) => {
totalPrice += item.quantity * item.price;
dispatch(setTotal(totalPrice));
})
: dispatch(setTotal(0));
}, [cart]);

如果我删除eslint-disable-next-line,会得到错误。

问题是您正在编写具有值结果的表达式,但您没有使用该结果。更具体地说,您使用的? :运算符类似于if语句。解决方案是编写您实际使用的if语句(即if (cart.length) { ... } else { ... })。

最新更新