<p dir="auto"><strong>TypeScript Version:</strong></p>
<p dir="auto">1.8.9 / (1.9.0-dev.20160409)</p>
<p dir="auto"><strong>Code</strong></p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="/// &lt;reference path=&quot;react.d.ts&quot;/&gt;

import * as React from 'react';

const Test = ({children}) =&gt; &lt;span&gt;{children}&lt;/span&gt;;

&lt;Test&gt;123&lt;/Test&gt;;"><pre class="notranslate"><span class="pl-c">/// &lt;reference path="react.d.ts"/&gt;</span>

<span class="pl-k">import</span> <span class="pl-c1">*</span> <span class="pl-k">as</span> <span class="pl-smi">React</span> <span class="pl-k">from</span> <span class="pl-s">'react'</span><span class="pl-kos">;</span>

<span class="pl-k">const</span> <span class="pl-smi">Test</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-kos">{</span>children<span class="pl-kos">}</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">&lt;</span><span class="pl-smi">span</span><span class="pl-kos">&gt;</span><span class="pl-kos">{</span>children<span class="pl-kos">}</span><span class="pl-c1">&lt;</span><span class="pl-pds"><span class="pl-c1">/</span>span&gt;;</span><span class="pl-c1"></span>

<span class="pl-c1">&lt;</span><span class="pl-smi">Test</span><span class="pl-c1">&gt;</span><span class="pl-c1">123</span><span class="pl-c1">&lt;</span><span class="pl-c1">/</span>Test&gt;;</pre></div>
<p dir="auto"><strong>Expected behavior:</strong></p>
<p dir="auto">No errors.</p>
<p dir="auto"><strong>Actual behavior:</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="test.tsx(7,1): error TS2324: Property 'children' is missing in type 'IntrinsicAttributes &amp; { children: any; }'."><pre class="notranslate"><code class="notranslate">test.tsx(7,1): error TS2324: Property 'children' is missing in type 'IntrinsicAttributes &amp; { children: any; }'.
</code></pre></div>
<p dir="auto">If I change the JSX to:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="React.createElement(Test, null, &quot;123&quot;);"><pre class="notranslate"><span class="pl-smi">React</span><span class="pl-kos">.</span><span class="pl-en">createElement</span><span class="pl-kos">(</span><span class="pl-smi">Test</span><span class="pl-kos">,</span> <span class="pl-c1">null</span><span class="pl-kos">,</span> <span class="pl-s">"123"</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">there is no error reported.</p>
<p dir="auto">say I have:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="class Parent extends React.Component&lt;{children:any}, {}&gt;{
  render() {
     return &lt;div&gt; {this.props.children}&lt;/div&gt;
  }
}

class Container extends React.Component&lt;{},{}&gt; {

    render() {
        return &lt;Parent&gt; //typescript shows error here cause no 'children' attribute present
         &lt;h2&gt;Hello&lt;/Hello&gt;
        &lt;/Parent&gt;
    }
}"><pre class="notranslate"><code class="notranslate">class Parent extends React.Component&lt;{children:any}, {}&gt;{
  render() {
     return &lt;div&gt; {this.props.children}&lt;/div&gt;
  }
}

class Container extends React.Component&lt;{},{}&gt; {

    render() {
        return &lt;Parent&gt; //typescript shows error here cause no 'children' attribute present
         &lt;h2&gt;Hello&lt;/Hello&gt;
        &lt;/Parent&gt;
    }
}
</code></pre></div>
<p dir="auto">In this case, <code class="notranslate">Container</code> is calling <code class="notranslate">Parent</code> correctly by passing in the children as nested elements.<br>
However, Typescript still complains that it doesnt see an explicit 'children' attribute.</p>
<p dir="auto">Typescript should know that 'children' attribute is special.</p>
<p dir="auto">TS version 1.7.3</p>