Javascript 应为赋值或函数调用,而应为表达式。eslintno-unused-expressions
嗨,我在函数中使用三元运算符。但eslint在这方面犯了错误。请帮我解决这个问题Javascript 应为赋值或函数调用,而应为表达式。eslintno-unused-expressions,javascript,reactjs,eslint,Javascript,Reactjs,Eslint,嗨,我在函数中使用三元运算符。但eslint在这方面犯了错误。请帮我解决这个问题 const Test = (showBtn, bubbleId, latitude, longitude, zoom, drillLevel) => { setShowBtn(showBtn); drillLevel === 'area' ? getCitiesData(bubbleId) : getStatesData(); setViewport({ ...view
const Test = (showBtn, bubbleId, latitude, longitude, zoom, drillLevel) => {
setShowBtn(showBtn);
drillLevel === 'area' ? getCitiesData(bubbleId) : getStatesData();
setViewport({
...viewport,
latitude,
longitude,
zoom,
});
};
您只需在三元运算符表达式上方添加此注释,即可禁用该行的eslint error:
/*eslint no-unused-expressions: ["error", { "allowTernary": true }]*/
drillLevel === 'area' ? getCitiesData(bubbleId) : getStatesData();
您可能忘记了将get*result指定给某个变量,这是关于
viewport
的吗
const data=drillLevel=='area'?
getCitiesData(bubbleId):
getStatesData();
将选项添加到eslint中,使其成为allowTernary=true
您可以将其添加为行上方的注释,也可以添加到定义了规则的eslint config中
/*eslint没有未使用的表达式:[“error”,{“allowTernary”:true}]*/
如果当前代码正常工作,则可能更适合完全避免使用条件运算符,而改用
If
/else
:
if (drillLevel === 'area') getCitiesData(bubbleId)
else getStatesData();
这样,您实际上没有任何未使用的表达式,这是修复此类linter警告的正确方法。eslint还显示行和列,您可以用更多详细信息更新问题吗?它会在drillLevel行上抛出错误,然后检查此行