Yakın zamanda eslint kuralını no-param-reassign
ekledim. AncakArray.prototype.reduce() işlevlerinde eslint no-param-yeniden atama kuralı nasıl kullanılır
, bir no-param-reassign
linter şikayeti neden her geri arama yineleme ile (birinci geri arama fonksiyonunun arg) accumulator
(gibi bir nesne (initialValue
olarak boş bir nesne), kendim değiştirmeye gerek bulmak oluşturmaktır reduce
kullanımı biri beklerdi).
const newObject = ['a', 'b', 'c'].reduce((result, item, index) => {
result[item] = index; // <-- causes the no-param-reassign complaint
return result;
}, {});
accumulator
argüman değiştirmez reduce
içeren bir nesne oluşturmaktır için daha iyi bir yolu var mı?
Veya reduce
geri arama işlevlerimde o satırın atlama kuralını basitçe devre dışı bırakmalı mıyım? Eğer linter kandırmak istiyorsanız
Not nihayet object spread operator) kullanılarak aklıma yeni bir cevap göndermek için bu soruyu yeniden ziyaret ediyorum, bu özellikle geçerli: TRUE kuralına Varsayılan olarak bu konuda şikayet etmez. Eğer bu davranışı istemezseniz, bunu 'false' olarak ayarlamak istediğiniz gibi mi görünüyor? Veya // eslint-disable-line no-param-reassign.' – loganfsmyth
ile işaretleyin, bu iyi bir nokta @loganfsmyth. Ben "yeniden" gerçek ayarlamak için gerçekten ne istediğimizi görmek için bazı yeniden muayene yapacağız ... – sfletche