Jenis naskah generik mengembalikan masalah jenis
Saya menggunakan naskah generik dalam proyek saya tetapi tampaknya tidak berfungsi dengan baik.
contoh:
interface Test<T, P> {
a?: (v: T) => P
b?: (v: P) => void
}
const fn1 = <T, P>(_config: Test<T, P>) => {}
fn1({
a: (p) => 1,
b: (p) => {},
})
Saya pikir params 'a'
tipe seperti:
Test<unknown, number>.a?: ((v: unknown) => number) | undefined
Tapi sebenarnya:
Test<unknown, unknown>.a?: ((v: unknown) => unknown) | undefined
Saya tidak tahu mengapa, seseorang dapat membantu saya? Terima kasih.
Jawaban
Passersby
Karena Anda tidak menentukan tipe di baris ini: b: (p) => {}
Kemudian TS tidak dapat menyimpulkan jenis P, meskipun Anda mengembalikannya dalam definisi untuk di atas a
.
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'