@types/react
dan mengalami masalah.Definitions by:
di index.d.ts
) agar mereka dapat menanggapi.Ada beberapa diskusi tentang tipe yang tepat dari React.Fragment
di #21146, tetapi sementara symbol | number
mungkin secara akurat mencerminkan tipe React internal untuk Fragment
, itu mencegah React.Fragment
dari digunakan sebagai elemen TSX.
<React.Fragment> // error here: React.Fragment does not have any construct or call signatures
<div>Child 1</div>
<div>Child 2</div>
</React.Fragment>
Saya menyadari bahwa kita dapat merender fragmen menggunakan sintaks <></>
, tetapi dokumen React menyatakan bahwa ini hanya menghilangkan gula menjadi <React.Fragment></React.Fragment>
dan ini adalah satu-satunya cara untuk menambahkan kunci ke fragmen .
Oleh karena itu, saya pikir jenis React.Fragment
harus diubah menjadi sesuatu yang lebih dekat ke React.ComponentType<{}>
, yang akan memberikannya key
dan children
props.
Saya bisa membuka PR jika orang setuju dengan proposal ini.
Terima kasih telah menangkap ini, @jgoz!
Saya pikir pendekatan yang lebih baik mungkin bagi kita untuk memperbaikinya di sisi TypeScript, daripada mengubah jenis React.Fragment
untuk meretas perilaku kompiler.
Saya akan melihat ini dan melihat apakah itu pendekatan terbaik.
@uniqueinquity Kedengarannya bagus. Saya memiliki cabang yang siap digunakan jika memperbaikinya di TS tidak memungkinkan/praktis.
@jgoz Ayo buka PRnya. Setelah beberapa diskusi di sini sepertinya Anda memiliki pendekatan yang tepat untuk saat ini.
Komentar yang paling membantu
@uniqueinquity Kedengarannya bagus. Saya memiliki cabang yang siap digunakan jika memperbaikinya di TS tidak memungkinkan/praktis.