title: difference between ClassicComponentClass and ComponentClass in reactJS
body: <p>I create my typescript definitions for some <code>reactJS</code> components and I see that in react.d.ts file there is 2 interfaces:</p>
  
  <pre><code>interface ComponentClass&lt;P&gt; {
      new(props?: P, context?: any): Component&lt;P, ComponentState&gt;;
      propTypes?: ValidationMap&lt;P&gt;;
      contextTypes?: ValidationMap&lt;any&gt;;
      childContextTypes?: ValidationMap&lt;any&gt;;
      defaultProps?: P;
      displayName?: string;
  }
  </code></pre>
  
  <p>and:</p>
  
  <pre><code>interface ClassicComponentClass&lt;P&gt; extends ComponentClass&lt;P&gt; {
      new(props?: P, context?: any): ClassicComponent&lt;P, ComponentState&gt;;
      getDefaultProps?(): P;
  }
  </code></pre>
  
  <p>I see that ClassicComponentClass extends ComponentClass, but when I should use one of these? (when creating definition for component) Does this depends on how the component was created?</p>