reactjs - Eslint 错误:不要嵌套三元表达式
问题描述
我正在使用 React.js 开发一个项目,但使用 eslint 时出现错误:
Do not nest ternary expressions
这是我的代码:
const MyApp = () => {
return (
<>
{(var1 && var2) ? (
<Tag1 />
) : error ? (
<Tag2 />
) : null}
</>);
}
你知道我该怎么做才能解决这个问题吗?我必须使用 if 但我认为在我的情况下我不能......
解决方案
这是由no-nested-ternaries eslint 规则引起的。
Linter 规则是关于如何编写代码的建议,它们指出了最佳实践,但不一定是真正的“错误”。
如果它在此处显示“错误”,那是因为有人(或预配置的规则集)决定将此规则启用为您的项目的“错误级别”。一般来说,除非您(或您团队中的某个人)想要禁止这种编码风格,否则无需更改您的代码。从技术上讲,它是完全有效的代码并且可以工作。
如果您在一个团队中,请与您的团队讨论该规则的含义。如果您一个人在您的项目中,请考虑是否需要此规则并在您的.eslintrc
文件中禁用它。
就我个人而言,我认为大多数关于如何编写此代码的建议,而不是在其他答案中给出的,都会使其可读性降低很多,所以如果我是你,我会保留它并禁用该规则。
推荐阅读
- php - MySQL WHERE 过滤器基于 SELECT 中的子查询
- php - 水平显示每周数据
- javascript - 为什么我的克隆数组的代码不起作用 JavaScript
- jupyter-notebook - 为什么在 jupyter notebook 中找不到该文件?
- python - Discord.py Bot 响应时间过长
- python - 破折号回调依赖于先前回调中的先前计算和 # 参数的 TypeError
- git - 我可以在不从远程删除它们的情况下删除本地 git 存储库中的文件吗?
- siddhi - 如何让 siddhi 电子邮件接收器工作
- entity-framework-core - 如何通过数据库优先实现 ASP.NET Core 标识
- html - 如何使我的响应式引导图像完美圆润?