title: i can't setState with dynamic key name in typescript
body: <p>I defined state interface of React component as following.</p>
  
  <pre><code>interface IState {
      email: string,
      password: string,
      errors: object
  }
  </code></pre>
  
  <p>and in text input change event I am trying to set state with dynamic key as below.</p>
  
  <pre><code>handleInputChange(e: React.ChangeEvent&lt;HTMLInputElement&gt;) {
  
          this.setState({
              [e.target.name]: e.target.value
          });
      }
  </code></pre>
  
  <p>However VSCode shows me this error</p>
  
  <pre><code>Argument of type '{ [x: string]: string; }' is not assignable to parameter of type 'IState | ((prevState: Readonly&lt;IState&gt;, props: Readonly&lt;{}&gt;) =&gt; IState | Pick&lt;IState, "email" | "password" | "errors"&gt; | null) | Pick&lt;IState, "email" | "password" | "errors"&gt; | null'.
    Type '{ [x: string]: string; }' is missing the following properties from type 'Pick&lt;IState, "email" | "password" | "errors"&gt;': email, password, errorsts(2345)
  </code></pre>
  
  <p>Any advice would be welcome.</p>