title: route.component does not have any construct or call signatures - React Router with TypeScript
body: <p>Routes are built from a list of objects. But typescript is highlighting the error:</p>
  <blockquote>
  <p>(property) IRoute.component: React.ReactNode
  JSX element type 'route.component' does not have any construct or call signatures.</p>
  </blockquote>
  <p>In pure JavaScript, everything works great. How to fix the TypeScript error?</p>
  <pre><code>import React from 'react'
  import {
    HashRouter as Router,
    Route,
    Switch,
    Redirect,
    RouteComponentProps,
  } from 'react-router-dom'
  
  import { ReduxType } from '../container/Container'
  import ThemeWrapper from './ThemeWrapper'
  import ErrorWrapper from './ErrorWrapper'
  import NotifyWrapper from './NotifyWrapper'
  import mainPage from './mainLayout/views/Page'
  import requestsPage from './requestsLayout/views/Page'
  import palettePage from './paletteLayout/views/Page'
  
  interface IRoute {
    key?: number
    path: string
    component: React.ReactNode
    exact: boolean
  }
  
  interface IRouteList extends Array&lt;IRoute&gt; {}
  
  const routeList: IRouteList = [
    // {path: '', component: React.ReactNode, [exact]}
    { path: '/', component: mainPage, exact: true },
    { path: '/requests', component: requestsPage, exact: true },
    { path: '/palette', component: palettePage, exact: true },
  ]
  
  //const AppRouter = (): JSX.Element =&gt; {
  class AppRouter extends React.Component&lt;ReduxType, any&gt; {
    public render() {
      console.log('AppRouter:' + JSON.stringify(this.props))
      return (
        &lt;ThemeWrapper palette={this.props.palette}&gt;
          &lt;ErrorWrapper&gt;
            &lt;NotifyWrapper&gt;
              &lt;Router&gt;
                &lt;Switch&gt;
                  {routeList.map((route, i) =&gt; (
                    &lt;Route
                      key={i}
                      render={(props: RouteComponentProps&lt;{}&gt;) =&gt; (
                        &lt;route.component {...this.props} /&gt;
                      )}
                      path={route.path}
                      exact={route.exact}
                    /&gt;
                  ))}
                  &lt;Redirect to=&quot;/&quot; /&gt;
                &lt;/Switch&gt;
              &lt;/Router&gt;
            &lt;/NotifyWrapper&gt;
          &lt;/ErrorWrapper&gt;
        &lt;/ThemeWrapper&gt;
      )
    }
  }
  
  export default AppRouter
  </code></pre>