当linting以下代码时:
public doStuf = (): Promise<null> => {
const data = new Stuff(this.value);
if (this.state === 'test') {
data.mail = {
object: label,
files: this.dropppedFiles || []
};
return this.validate = (data) => null;
} else {
return this.validate = (data) => null;
}
}
我将doStuff()
作为承诺传递给子组件,这就是为什么我需要保持上下文this.validate = (data) => null;
(可能有一种更优雅的做事方式?)
我得到了
阴影变量:'数据'
我尝试取消let
而不是const
,但lint再次抱怨data is never modified, use const instead
我的所有测试都通过了,组件按预期工作。我如何摆脱这个错误?
编辑:
有效的是
this.validate = (boo = data) => null;
那有多可怕?
编辑:
我实际上想要将参数传递给validate函数并同时保持箭头函数结构。类似的东西:
this.validate(data) = () => null;
答案 0 :(得分:1)
写作时
this.validate = (data) => null;
this.validate
是一个带有一个参数data
的函数,这意味着您无法再引用原始的data
变量。
如果您将此参数称为其他内容,则可以正常运行。
this.validate = (param) => null;
修改强>
根据您的评论,您似乎不想定义,而是调用this.validate
功能。在这种情况下只做
this.validate(data);