TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.

1ogrenci (13) 10 ay önce sordu

Elimdeki örnekte şöyle bir satır var. Bu arada örnek ingilizce bir Angular kitabında yazıyor. 

 ngOnInit() {
   this.loadData(null);
 }

ve bu satır için şöyle bir hata alıyorum

TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.

 

loadData metodu

 loadData(query?:string) {}  diye devam ediyor.  Ben kodu çalıştırdığımda hata öncesinde loadTata(null) yazdığımda Visual Studio bu satırın altını kırmızı ile çiziyor. Örneği kopyaladım yine aynısı oldu. Bunu nasıl çözerim?

Toplam 1 cevap


alattin (17127) 10 ay önce cevapladı

metodunu parametre yollloadData() amadan çalıştırmayı denersen sorun çözülür. null yazman gerekmiyor. 

yine illa null yazmak istersen TypeScript Non-null assertion operator (!) kullanabilirsin.

loadData(null!) 

yani null ifadesinin sonuna ! ekle.

Kitap ile senin çalışma ortamın arasında versiyon farkı varsa bu tür beklenmedik durumlar oluşabilir.