Вы можете создавать динамические маршруты к вашим сообщениям, используя react-router-dom
, аналогично тому, что вы делали с другими вашими маршрутами. react-router
на самом деле не обновляет страницу, хотя выглядит так. Он просто визуализирует другой компонент при изменении route
.
Чтобы создать динамические маршруты для ваших сообщений, вы можете сделать что-то вроде этого:
<Route
path="/post/:postId"
render={() => <PostComponent />}
/>
или вот так, если хотите, чтобы оно былочуть более читабельно:
<Route
path="/post/:postId"
component={PostComponent}
/>
:postId
здесь находится динамический идентификатор, все, что будет помещено после /post/
в вашем URL, будет считаться postId
react-router
.
Внутри PostComponent
вы можете сделать что-то подобное, чтобы получить переменную postId
:
import { withRouter } from "react-router-dom";
const PostComponent = withRouter(props => (
const postId = props.match.params.postId;
return ();
))
Затем вы можете использовать postId
, чтобы получить сообщение из бэкэнда и сделать все, что вам нужноделать с этим. Как только вы перейдете на URL своего поста, он покажет PostComponent
без жесткого обновления страницы.