Я решил создать несколько частных маршрутов, к которым могут обращаться только зарегистрированные пользователи, но наткнулся на проблему, когда я не знаю, как отправлять параметры URL (идентификатор статьи). Я сделал это по "нормальному" маршруту, но теперь я застрял. Вот мой метод рендеринга:
render() {
let auth = store.getState().auth.isAuth;
return (
<Fragment>
<Header />
<Route path="/" exact={true} component={HomePage} />
<Route path="/articles/:id" component={ArticleSinglePage} />
<ProtectedRoute auth={auth} path="/profile/:id/articles" component={MyArticles} />
<ProtectedRoute path="/edit/:id/" component={EditArticle} />
<ProtectedRoute path="/writeArticle" component={WriteArticle} />
</Fragment>
);
}
Вот мой компонент ProtectedRoute:
const ProtectedRoute = ({auth, component:Component, match, ...rest}) => {
return (
<Route {...rest}
render = { () => auth ? (<Component/>) : <Redirect to="/"/>} />
)
}