Вы не передаете в компонент props.
public onRoute = () => {
if (data.role_type === `/${document.location.pathname.split('/')[1]}`) {
return <Component/>; // тут ничего не передается
}
return this.context.router.history.push('/404');
}
так должно работать:
public onRoute = () => {
if (data.role_type === `/${document.location.pathname.split('/')[1]}`) {
return <Component {...this.props} />;
}
return this.context.router.history.push('/404');
}
Как альтернативу HOC можно сделать обертку над Routе, применив композицию.
<AuthRoute path='/some_path' component={SomeComponent} />
Зачем вы используете context в компоненте дочернем router остается загадкой.