According to <a href="https:&#x2F;&#x2F;github.com&#x2F;Microsoft&#x2F;TypeScript&#x2F;wiki&#x2F;JSX" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Microsoft&#x2F;TypeScript&#x2F;wiki&#x2F;JSX</a>, there are two JSX processing options.  The first is a JSX passthru (&quot;preserve&quot; mode) and the second (&quot;react&quot; mode) will generate React.createElement, etc.  See that page for the technical details.<p>As such, preserve mode is intended for use with other backends, e.g. those listed under <i>Transpilers</i> at <a href="https:&#x2F;&#x2F;facebook.github.io&#x2F;jsx&#x2F;" rel="nofollow">https:&#x2F;&#x2F;facebook.github.io&#x2F;jsx&#x2F;</a>.  Whichever non-React backend you choose therefore defines the JSX runtime handling rather than having that baked into TypeScript.