<p dir="auto">During upgrading <code class="notranslate">0.13</code> I found it really hard to locate problems caused by duplicated using of <code class="notranslate">createFactory</code>. But it may help with component names in the warnings:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="      'Warning: Factory.type is deprecated. Access the class directly before ' +
      'passing it to createFactory"><pre class="notranslate">      <span class="pl-s">'Warning: Factory.type is deprecated. Access the class directly before '</span> <span class="pl-c1">+</span>
      'passing it to createFactory</pre></div>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/449224/7042993/77bcf92c-de18-11e4-9444-b1d89ead9e4a.png"><img src="https://cloud.githubusercontent.com/assets/449224/7042993/77bcf92c-de18-11e4-9444-b1d89ead9e4a.png" alt="p" style="max-width: 100%;"></a></p>
<p dir="auto">Heads up to anybody going through debugging hell.<br>
If you have your own fancy component (e.g <code class="notranslate">&lt;AwesomeInput/&gt;</code>) and you think its smart passing a prop named <code class="notranslate">key</code> to your component, so that you can set it as the <code class="notranslate">react-key</code> (you know, the one React complains about needing if there are multiple elements on the same level), <code class="notranslate">this.props.key</code> will be undefined within your component!</p>
<p dir="auto"><strong>'key' and 'ref' are reserved words that are not allowed to be passed as props.</strong></p>
<p dir="auto">renaming the prop resolves this issue. It is too bad, that React doesn't warn you about that as it does with many other things. Would be great if this would be reflected more prominently in the docs under 'reserved names' or similar.</p>