React: can't create jsx element from ElementType<P>
if P is a generic type parameter
#53864
Unanswered
Hypnosphi
asked this question in
Issues with a @types package
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDGMA0cDeBRAGyRCQDsYAVATzCQF84AzKCEOAcilQ3YCheYNJHAAKLMAGcAPCIB8cALy5ecVXDQALYAQAmYiJIBcozCrUBhLbuOFiZSkJmzedfowCupDMAik451khSeycAChxLbR1sTSj9STpjeOk5AEplNTguGHcoPylI3VwAOlLY3WSGAHpnVyA
expected: no error, as
ElementType<P>
accepts props of typeP
actual:
JSX element type 'Child' does not have any construct or call signatures
It works OK if use some defined type instead of generic:
https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDGMA0cDeBRAGyRCQDsYAVATzCQF84AzKCEOAcilQ3YCheYNJHAAKcALy5GECAC44AZxhRgpAOZ1+g2qJZgFE3Lzgm4aABbACAExF6F8kZmOmAwpZvzCxMpSEAeEQA+Xk1eRgBXUgxgCFI4V1ZIUl8AChx3K2tsCyy7CH06R3sASiNTOC4YCKh4-0ybXAA6FtybfMK4AHoQzSA
It also works if I use just
ElementType
without type parameter, but in this case it defaults toany
which breaks type safety:https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDGMA0cDeBRAGyRCQDsYAVATzCQF84AzKCEOAcilQ3YCheYNJHAAKLMAGcAPCIB8cALy5ecVXDQALYAQAmYiJIBcozCrUBhLbuOFiZSkN51+jAK6kMwCKTjnWkUnsZWQAKHEttHWxNSP1JOmM46TkASmU1OC4YVygfKQjdXAA6EpjdJIYAelknXiA
Beta Was this translation helpful? Give feedback.
All reactions