title: React 0.14.2 error - Super expression must either be null or a function
body: <p>After updating from 0.13.2 to 0.14.2 I'm getting this error:</p>
  
  <p><code>Uncaught TypeError: Super expression must either be null or a function, not object</code></p>
  
  <p>There are <a href="https://stackoverflow.com/questions/30116430/reactjs-giving-error-uncaught-typeerror-super-expression-must-either-be-null-or">several</a> <a href="https://stackoverflow.com/questions/29452111/react-router-error-super-expression-must-either-be-null-or-a-function">questions</a> about this already. 
  The most common error is misspelling React.component (without a capital C).
  The other one is trying to use ES6 classes with versions &lt; 0.13.</p>
  
  <p>But I was already succesfully using ES6 classes with React 0.13.x, and I use capital C everywhere, and logging React.Component seems to give an appropriate result (function ReactComponent(...))</p>
  
  <p>After some searching I made these 3 test cases of which 2 throw the excact same error (without me understanding why) and one does not. Seemingly suggesting the order in which classes occur is an issue?</p>
  
  <p><strong>TEST 1</strong> (throws error)</p>
  
  <pre><code>//Test.jsx
  var React = require('react');
  var ReactDOM = require('react-dom');
  var BaseComponent = require('./BaseComponent');
  
  class Test extends BaseComponent {
      render() { return &lt;div&gt;Test worked&lt;/div&gt;; }
  }
  ReactDOM.render(&lt;Test /&gt;, document.getElementById('test'));
  
  //BaseComponent.jsx
  var React = require('react');
  console.log(React.Component); // &lt;--- logs "function ReactComponent(...)" !!
  export default class BaseComponent extends React.Component { }
  </code></pre>
  
  <p><strong>TEST 2</strong> (put BaseComponent under in Test.jsx, still error)</p>
  
  <pre><code>//Test.jsx
  var React = require('react');
  var ReactDOM = require('react-dom');
  class Test extends BaseComponent { render() { return &lt;div&gt;Test worked&lt;/div&gt;;     } }
  class BaseComponent extends React.Component { }
  ReactDOM.render(&lt;Test /&gt;, document.getElementById('test'));
  </code></pre>
  
  <p><strong>TEST 3</strong> (put BaseComponent above Test class definition, no error!?)</p>
  
  <pre><code>//Test.jsx
  var React = require('react');
  var ReactDOM = require('react-dom');
  class BaseComponent extends React.Component { }
  class Test extends BaseComponent { render() { return &lt;div&gt;Test worked&lt;/div&gt;;     } }
  ReactDOM.render(&lt;Test /&gt;, document.getElementById('test'));
  </code></pre>
  
  <p>I'm not even sure anymore this will solve my actual problem. But understanding what's happening in these test cases may help me get to the solution.</p>
  
  <p>I'm using webpack with babel to compile into a bundle.</p>
  
  <p><strong>update</strong>
  Changing </p>
  
  <pre><code>export default class BaseComponent extends React.Component { }
  </code></pre>
  
  <p>To</p>
  
  <pre><code>class BaseComponent extends React.Component { }
  module.exports = BaseComponent;
  </code></pre>
  
  <p>also removed the error!
  Which means I'm going to refactor that now, but it doesn't solve the issue, because <code>export default class</code> should just work</p>