title: Missing the location, history and match properties when combining custom props with RouteComponentProps
body: <p>I have a component handling routing, and the I am using the react-router properties: 'history, match, location'. I mapped my functional component as receiving <code>IRoute</code> as props and combined it with RouteComponentProps in order to have access to 'history, match, location';</p>
  
  <pre><code>const PrivateRoute: FC&lt;IRoute &amp; RouteComponentProps&gt; = ({ component: Component, roles, isAuthenticated, user, ...rest }) =&gt; (
  
  );
  </code></pre>
  
  <p>This is my route code.</p>
  
  <pre><code>const routes: IRoute[] = [
  {
      path     : '/',
      exact    : true,
      auth     : false,
      component: Home
  },
  ]
  </code></pre>
  
  <p>And this is my interface code.</p>
  
  <pre><code> export interface IRoute extends RouteComponentProps {
  path     : string;
  exact    : boolean;
  auth     : boolean;
  component: React.ElementType;
  roles   ?: string[];
   }
  </code></pre>
  
  <p>When trying to initialize my PrivateRoute component I get in my terminal:</p>
  
  <pre><code>TS2739: Type '{ path: string; exact: boolean; auth: boolean; component: ElementType&lt;any&gt;; roles?: string[] | undefined; key: number; }' is missing the following properties from type 'Readonly&lt;Pick&lt;IRoute &amp; IAuthState &amp; RouteComponentProps&lt;{}, StaticContext, any&gt;, "path" | "location" | "history" | "match" | "staticContext" | "component" | "exact" | "auth" | "roles"&gt;&gt;': location, history, match
  </code></pre>
  
  <p>I am new to typescript so if anyone can please explain to me what I am doing wrong it would be very appreciated. Thank you for your time!</p>