javascript – 箭头功能不应该返回赋值?

前端之家收集整理的这篇文章主要介绍了javascript – 箭头功能不应该返回赋值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的代码在应用程序中正常工作,但是,我的eslint不喜欢它,并且说我不应该返回作业.这有什么问题?
<div ref={(el) => this.myCustomEl = el} />

解决方法

您当前的代码相当于:
<div ref={(el) => { return this.myCustomEl = el }} />

您将返回this.myCustomEl = el的结果.在你的代码中,这不是一个真正的问题 – 然而,编程中最令人沮丧的错误之一发生在你不小心使用赋值(=)而不是比较器(==或===)时,例如:

let k=false;  
if(k=true){
  thisWillExecute();
}

在上面的例子中,编译器警告是有意义的,因为k = true计算结果为true并导致意外行为.因此,eshint会在您返回作业时发出通知,假设您打算返回比较,并告诉您应该小心.

在你的情况下,你可以通过简单地不返回结果来解决这个问题,这是通过添加括号{}和没有return语句来完成的:

<div ref={(el) => { this.myCustomEl = el }} />

您也可以像这样调整eshint警告:
https://eslint.org/docs/rules/no-return-assign

猜你在找的JavaScript相关文章