Проблема в том, что вы не передаете компонент в Route
// THIS IS NOT A COMPONENT
let navComponent = (
<MyCustomAppContextProvider>
<AppContext.Consumer>
{context => (
<Dashboard
context={context}
module={this.props.module}
router={router}
sideMenuConfig={this.props.sideMenuConfig}
/>
)}
</AppContext.Consumer>
</MyCustomAppContextProvider>
)
Компонент - это либо class
, который расширяет React.Component
, либо функция:
// THIS IS A COMPONENT
let NavComponent = props => (
<MyCustomAppContextProvider>
<AppContext.Consumer>
{context => (
<Dashboard
context={context}
module={this.props.module}
router={router}
sideMenuConfig={this.props.sideMenuConfig}
/>
)}
</AppContext.Consumer>
</MyCustomAppContextProvider>
)
ОБНОВЛЕНИЕ до вашего ОБНОВЛЕНИЯ:
Вы не понимаете, что такое компонент
// THIS IS A COMPONENT
let Foo = props => <div />
// THIS IS NOT A COMPONENT
let Foo = <div />
Вам необходимо передать компонент в компонент компонента Route:
let NavComponent = props => <MyCustomAppContextProvider>...
// YES
<Route component={NavComponent} />
// NO
<Route component={<NavComponent />} />