<p dir="auto">I came across the following situation that had some really unexpected behavior:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="let [left, top] = (function that returns [number, number]);

var reactComponent = (
&lt;Component left={left} top={top} /&gt;
);"><pre class="notranslate"><span class="pl-k">let</span> <span class="pl-kos">[</span><span class="pl-s1">left</span><span class="pl-kos">,</span> <span class="pl-s1">top</span><span class="pl-kos">]</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-k">function</span> <span class="pl-s1">that</span> <span class="pl-s1">returns</span> <span class="pl-kos">[</span><span class="pl-s1">number</span><span class="pl-kos">,</span> <span class="pl-s1">number</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

<span class="pl-k">var</span> <span class="pl-s1">reactComponent</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span>
<span class="pl-c1">&lt;</span><span class="pl-ent">Component</span> <span class="pl-c1">left</span><span class="pl-c1">=</span><span class="pl-kos">{</span><span class="pl-s1">left</span><span class="pl-kos">}</span> <span class="pl-c1">top</span><span class="pl-c1">=</span><span class="pl-kos">{</span><span class="pl-s1">top</span><span class="pl-kos">}</span> <span class="pl-c1">/</span><span class="pl-c1">&gt;</span>
<span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">inside reactComponent, this.props.top was undefined...</p>
<p dir="auto">I checked out the generated code, and it looks like babel was rewriting the variable <code class="notranslate">top</code> to <code class="notranslate">_top</code>, but it was also rewriting the prop to <code class="notranslate">_top</code>,  so I was left with <code class="notranslate">&lt;Component left={left} _top={_top}</code>, and was losing my prop.</p>
<p dir="auto">(Rhyming totally unintentional...)</p>
<p dir="auto">Sorry for the lack of specificity of this message, but we upgraded from <code class="notranslate">babel-core@5.3.3</code> / <code class="notranslate">babel-loader@5.0.0</code> to the latest <code class="notranslate">babel-loader@5.0.0</code> / <code class="notranslate">babel-core@5.4.5</code> this morning and we are encountering major breaking changes our code. Pinning the versions back to <code class="notranslate">5.0.0</code>/<code class="notranslate">5.3.3</code> has resolved them.</p>
<p dir="auto">Do you have any advice for how to address these breaking changes, or is this a mistake in this particular release?</p>
<p dir="auto">Thanks!</p>