title: Unable to call super() inside constructor() in typescript
body: <p>I'm trying to write a react app with typescript support using create-react-app  --scripts-version=react-scripts-ts command.</p>
  
  <p>I keep seeing this error:</p>
  
  <blockquote>
    <p>(23,15): error TS2345: Argument of type 'Props | undefined' is not assignable to parameter of type 'Props'.
          Type 'undefined' is not assignable to type 'Props'.</p>
  </blockquote>
  
  <p>The code that this is coming from is this:</p>
  
  <pre><code>export class ScratchpadComponent extends React.Component&lt;ScratchpadComponent.Props, ScratchpadComponent.State&gt; {
  
      constructor(props?: ScratchpadComponent.Props, context?: any) {
          super(props, context);
          this.submit = this.submit.bind(this);
      }
  </code></pre>
  
  <p>Not sure what is causing this - I've searched around and don't have much clue on how to resolve this?</p>
  
  <p>Update:</p>
  
  <p>If I remove the optional ? from the constructor signature, then I start seeing this error:</p>
  
  <pre><code>18,11): error TS2322: Type '{}' is not assignable to type 'IntrinsicAttributes &amp; IntrinsicClassAttributes&lt;Component&lt;Pick&lt;Props, "dispatch" | "scratchPadActi...'.
    Type '{}' is not assignable to type 'Readonly&lt;Pick&lt;Props, "dispatch" | "scratchPadActions" | "scratchData" | "errorMessage" | "errorDa...'.
      Property 'dispatch' is missing in type '{}'.
  </code></pre>