javascript - 箭头函数不应返回赋值 no-return-assign
问题描述
然而,我的代码在应用程序中正常工作,在 commit husky 运行并给出错误“箭头函数不应返回赋值 no-return-assign”之前
<Field name='dob' label='dateOfBirth'
placeholder=''
onFocus={(e) => e.target.placeholder = 'MM/YYYY/DD'}
/>
解决方案
正如一些人在评论中提到的那样,问题在于您正在使用
(e) => e.target.placeholder = 'MM/YYYY/DD'
大致相当于
anon_func = function (e) {
return e.target.placeholder = 'MM/YYYY/DD';
}
因为(args) => <expression>
意味着评估表达式并返回结果。
与 jakemingolla 的回答相反,这是合法的;它返回 'MM/YYYY'DD' 在这种情况下无关紧要,因为您不关心任何返回值。这就是它“起作用”的原因。但它通常被认为是糟糕的风格,这就是为什么你的预提交检查会标记它。
你想要的是(args) => {<function-body>}
,如果你没有明确地返回一些东西,它(就像任何直接声明的函数体一样)只会返回 undefined 。那是
(e) => {e.target.placeholder = 'MM/YYYY/DD';}
大致是这样的
anon_func = function (e) {
e.target.placeholder = 'MM/YYYY/DD';
}
这就是你想要的。
推荐阅读
- c# - 如何使用 HtmlAgility 使用 xpath 获取 singleNode
- java - 如何向 Java DSL 集成流添加事务支持
- javascript - 错误:请求缺少所需的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据
- swift - 代理包装 iOS 14 Logger 类
- django - 石墨烯创建独特的 id
- mysql - 通过自定义列仅获取每个行顺序的子查询中的第一个结果
- html - svg 文件未显示在 img 控件上
- merge - DAX:有选择地合并两个表(基于一行中的值)
- c# - 类不能转换为 NSObject 类型的接口到 C# 绑定库 Xamarin IOS
- python - pip 不是内部或外部命令、可运行程序或批处理文件