<p dir="auto">Using Typescript 1.7.3.</p>
<p dir="auto">Here is some sample code:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="var MainMenu:React.StatelessComponent&lt;{}&gt; = (props)=&gt;(&lt;div&gt;
    &lt;h3&gt;Main Menu&lt;/h3&gt;
&lt;/div&gt;);

var App:React.StatelessComponent&lt;{children}&gt; = ({children}) =&gt; (
    &lt;div &gt;
        &lt;MainMenu/&gt;
    &lt;/div&gt;
);"><pre class="notranslate"><code class="notranslate">var MainMenu:React.StatelessComponent&lt;{}&gt; = (props)=&gt;(&lt;div&gt;
    &lt;h3&gt;Main Menu&lt;/h3&gt;
&lt;/div&gt;);

var App:React.StatelessComponent&lt;{children}&gt; = ({children}) =&gt; (
    &lt;div &gt;
        &lt;MainMenu/&gt;
    &lt;/div&gt;
);
</code></pre></div>
<p dir="auto">The line containing <code class="notranslate">&lt;MainMenu/&gt;</code> inside <code class="notranslate">App</code> will throw this error msg:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Error:(5, 3) TS2605: JSX element type 'ReactElement&lt;any&gt;' is not a constructor function for JSX elements.
 Property 'render' is missing in type 'ReactElement&lt;any&gt;'."><pre class="notranslate"><code class="notranslate">Error:(5, 3) TS2605: JSX element type 'ReactElement&lt;any&gt;' is not a constructor function for JSX elements.
 Property 'render' is missing in type 'ReactElement&lt;any&gt;'.
</code></pre></div>
<p dir="auto">At first I thought this was <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="124864800" data-permission-text="Title is private" data-url="https://github.com/microsoft/TypeScript/issues/6349" data-hovercard-type="issue" data-hovercard-url="/microsoft/TypeScript/issues/6349/hovercard" href="https://github.com/microsoft/TypeScript/issues/6349">#6349</a> but even assigning a type to props in <code class="notranslate">MainMenu</code> doesnt help.</p>
<p dir="auto">Not that I want to do that. But just for creating a quick demo I did that and it fails to compile:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const Foo = (props:any) =&gt; &lt;div/&gt;;
const foo = &lt;Foo/&gt;; // Error : render is missing"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-smi">Foo</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-s1">props</span>:<span class="pl-smi">any</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">&lt;</span><span class="pl-smi">div</span><span class="pl-kos"></span><span class="pl-c1">/</span>&gt;;
<span class="pl-s1">const</span> <span class="pl-s1">foo</span> <span class="pl-c1">=</span> <span class="pl-kos">&lt;</span><span class="pl-smi">Foo</span><span class="pl-kos"></span><span class="pl-c1">/</span>&gt;; <span class="pl-c">// Error : render is missing</span></pre></div>
<p dir="auto">Of master from yesterday <g-emoji class="g-emoji" alias="rose" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f339.png">🌹</g-emoji></p>