gpt4 book ai didi

ecmascript-6 - 如何避免 eslint 规则 no-unneed-ternary 违规 : 'Unnecessary use of conditional expression for default assignment'

转载 作者:行者123 更新时间:2023-12-02 20:36:13 24 4
gpt4 key购买 nike

这是我的代码

class Message extends Component {

render() {
const { message, timeToRedirect } = this.props;
const time = timeToRedirect ? timeToRedirect : TIME_TO_REDIRECT // eslint flags this line

这个想法是,如果参数 timeToRedirect 为零或未定义,我会将常量 TIME_TO_REDIRECT 分配给变量 time

但是 eslint 将此标记为违反规则 no-unneeded-ternary:“默认赋值时不必要使用条件表达式”。

我当然可以将其重写为

let time = timeToRedirect;
if (!timeToRedirect) {
time = TIME_TO_REDIRECT;
}

但我认为它不太优雅。

有没有更好的方法来重写三元表达式?

我目前正在使用这些 npm 包

"babel-eslint": "7.1.0",
"eslint": "3.9.1",
"eslint-config-airbnb": "12.0.0",
"eslint-plugin-import": "1.16.0",
"eslint-plugin-jsx-a11y": "2.2.3",
"eslint-plugin-react": "6.5.0",

最佳答案

They want you使用OR operator :

const time = timeToRedirect || TIME_TO_REDIRECT;

请注意,要捕获未定义值,您也可以在解构中使用默认初始化程序:

render() {
const { message, timeToRedirect: time = TIME_TO_REDIRECT } = this.props;

关于ecmascript-6 - 如何避免 eslint 规则 no-unneed-ternary 违规 : 'Unnecessary use of conditional expression for default assignment' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43129929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com