我在我的 React 应用程序中使用以下包来生成 Recaptcha 组件:https ://github.com/appleboy/react-recaptcha
this.recaptchaRef
定义如下:this.recaptchaRef = React.createRef();
当我的表单出现错误时,这个 ref 允许我重置 Recaptcha,如下所示:this.recaptchaRef.reset();
如果不编写 ESlint 注释,我将如何解决此错误?
我在我的 React 应用程序中使用以下包来生成 Recaptcha 组件:https ://github.com/appleboy/react-recaptcha
this.recaptchaRef
定义如下:this.recaptchaRef = React.createRef();
当我的表单出现错误时,这个 ref 允许我重置 Recaptcha,如下所示:this.recaptchaRef.reset();
如果不编写 ESlint 注释,我将如何解决此错误?
箭头函数,如果{
后面没有=>
,将返回后面的任何表达式。目前,您的箭头函数正在分配和event
返回。(即使消费者完全忽略了返回值,它仍然会产生一个 linting 错误。)所以,只需使用大括号来确保不返回任何内容:this.recaptchaRef
event
ref={(event) => {
this.recaptchaRef = event;
}}
根据箭头函数的文档,它们可以具有“简洁主体”或通常的“块主体”。
在简洁的正文中,仅指定了一个表达式,该表达式成为显式返回值。在块体中,您必须使用显式返回语句。
因此,在您使用的示例中,指定了“简洁正文”。简洁的身体意味着没有周围的卷曲括号。因此,即使没有 return 关键字,也会返回表达式。由于您想避免返回表达式,因此您需要将主体更改为“块主体”,即在=>
运算符之后指定大括号,即
ref = {event => {
this.recaptchaRef = event;
}};