reactjs - Varför är TSX-element inte starkt typade?


Tänk på detta:

const selectLiteral /*: JSX.Element */ = <select></select>;
const selectCode /*: React.ReactDetailedReactHTMLElement<{}, HTMLElement> */ = React.createElement('select', {});

Typningen av createElement är lite ofullständig på grund av icke-specifik HTMLElement men det beror på Reacts typdefinitionsfil.

Vad jag inte förstår är varför alla XML-litteraler blir JSX.Element istället för en specifik typ? Det verkar som ett medvetet val? Gäller även anpassade komponenter.