【发布时间】:2019-04-07 08:19:09
【问题描述】:
我有一个类似下面的函数,其中 isformValid 被标记为 let 并在 if 块中使用它并根据条件更改其值。
validateForm(validationErrors, formData) {
let validationRules = this.state.dynamicJourneyData[this.state.currentStepName].validationRules;
let isFormValid = true;
let fullErrorList = [];
validationRules.rules.forEach((rule) => {
let errorList = this.evaluateRule(rule, formData);
if (errorList.length > 0) {
fullErrorList = fullErrorList.concat(errorList);
}
});
let finalErrorList = [];
let errorKeys = [];
fullErrorList.filter((error) => errorKeys.indexOf(error.id) < 0).forEach((error) => {
finalErrorList.push(error);
errorKeys.push(error.id);
});
if (finalErrorList.length > 0) {
isFormValid = false;
if (finalErrorList.length === 1) {
validationErrors.messageTitle = validationErrors.messageTitle
.replace('@count', finalErrorList.length)
.replace('were', 'was')
.replace('errors', 'error');
} else {
validationErrors.messageTitle = validationErrors.messageTitle.replace('@count', finalErrorList.length);
}
validationErrors.messageBody = finalErrorList; /*(fullErrorList.map(error=>error.label)).toString();*/
}
return finalErrorList;
}
我可以看到一个 eslint 错误,因为 'isFormValid' 被分配了一个值,但从未使用过 ' 即使我在 if 块中使用过它。
【问题讨论】:
-
它没有被使用,但被分配了另一个值。 “使用”意味着在分配或返回之外的操作中对其进行操作。
标签: javascript reactjs ecmascript-6 eslint let