Я использую React-router-DOM и веб-пакет в моем проекте. Когда пользователь нажимает на определенную ссылку, основанную на дате и идентификаторе, он переносит их на другую страницу.
Мои маршруты:
<Switch>
<Route path="/" exact render={Home} />
<Route exact path="/surveys/:date" render={Main} />
<Route path="/surveys/:date/:id" render={Survey} />
<Route render={() => <h1>404: page not found</h1>} />
</Switch>
Я хочу, чтобы путь выглядел следующим образом surveys/june/123
и отлично работает с первого клика. Но проблема в том, что когда пользователь загружает другой опрос с боковой панели, вместо URL-адреса меняется на surveys/june/124
, он меняется на surveys/june/123/124
, а после этого он меняется на surveys/june/123/125
и так далее. Например, первый загруженный идентификатор всегда остается в URL.
Я пробовал:
<Link to={`${match.url}/${id}`} />
и path-to-regexp
const setPath = compile(match.path);
const newPath = setPath({
...match.params,
id: id,
});
и ни один из них не работает. Что я делаю не так?