title: React Typescript - Binding element 'C' implicitly has an 'any' type. TS7031
body: <p>I have an issue converting js to ts format regarding a react component.</p>
  <p>The error is</p>
  <blockquote>
  <p>Binding element 'C' implicitly has an 'any' type.  TS7031</p>
  </blockquote>
  <p>It happens on the argument C of this function:</p>
  <pre><code>export default function UnauthenticatedRoute({ component: C, appProps, ...rest }:
                                                   RouteProps &amp; {appProps: AppProps}) {
    const redirect = querystring(&quot;redirect&quot;);
    return (
      &lt;Route {...rest}
          render={ props =&gt; !appProps.isAuthenticated ?
              &lt;C {...props} {...appProps} /&gt;
            :
              &lt;Redirect to={redirect === &quot;&quot; || redirect === null ? &quot;/&quot; : redirect}/&gt;
          }
      /&gt;
    );
  }
  </code></pre>
  <p>As I understand it, the component key in RouteProps which looks like this:</p>
  <blockquote>
  <p>component?: React.ComponentType&lt;RouteComponentProps&gt; |
  React.ComponentType;</p>
  </blockquote>
  <p>is not typed enough.</p>
  <p>How can I address this?</p>