Ошибка нет затененной переменной — ошибка tslint

#sharepoint #office365 #sharepoint-online #tslint

#sharepoint #office365 #sharepoint-online #tslint

Вопрос:

Наличие предупреждений tslint (ES6) и все еще некоторые трудности с его синтаксисом. Это отображается следующим образом

ошибка нет затененной переменной: затененное имя: ‘i’
введите описание изображения здесь

 for (let i = 0; i < this.state.UploadedFilesArray.length; i  ) {
    if (this.state.UploadedFilesArray[i] != undefined) {
        var tempx = this.state.UploadedFilesArray[i].toString().split('|');
        str.push(<li key={tempx[0]} onClick={this.onChangeDeleteDocument.bind(this)} data-id={tempx[1]}> Uploaded File : {tempx[0]} - <a className={styles.MyHeadingsAnchor}>Delete </a></li>);
    }
}
  

Ответ №1:

Ознакомьтесь с no-shadowed-variable документацией правила здесь: https://palantir.github.io/tslint/rules/no-shadowed-variable /

Когда переменная в локальной области и переменная в содержащей области имеют одно и то же имя, происходит затенение. Затенение делает невозможным доступ к переменной в содержащей области видимости и скрывает, к какому значению на самом деле относится идентификатор.

Было бы полезно просмотреть полный файл, но на самом деле происходит то, что вы объявили некоторую i переменную в одном блоке, затем внутри этого блока объявили другую i переменную.