#javascript #reactjs #react-router-dom
#javascript #reactjs #react-router-dom
Вопрос:
У меня проблема с маршрутизатором React и подкачкой. Если я нахожусь в корне проекта и нажимаю на кнопку далее, он перейдет к mydomain.com/page/2 и так далее. Это правильно.
Но если я в mydomain.com/categories когда я нажимаю далее, он переходит к следующему mydomain.com/page/2 но затем, если я даю предыдущий или следующий, он начинает объединять маршруты в форме mydomain.com/page/2/page/1 / страница / 2 и так далее.
Таковы маршруты:
<Route path="/categoria/:id/:slug/page/:page" exact>
<Category />
</Route>
<Route path="/categoria/:id/:slug">
<Category />
</Route>
В мой компонент разбивки на страницы я передаю в качестве реквизитов текущий URL-адрес, массив продуктов, полученных из api, текущую страницу и количество страниц:
<Pagination baseurl={`${urlActual}/`} pagina={pagina} productos={productsByTag} pageCount={pageCount}/>
Что касается ссылок на кнопки внутри компонента разбивки на страницы, они сделаны следующим образом:
pagina ? (
<Link to={`${baseUrl}page/${Number(pagina) 1}`}>
<button className="btn btn-primary">Next</button>
</Link>
):(
<Link to={`${baseUrl}page/2`}>
<button className="btn btn-primary">Prev</button>
</Link>
)
Есть идеи, почему это может происходить?
Комментарии:
1. Откуда
urlActual
берется?2. Да, пожалуйста, укажите, как вы вычисляете свой
baseUrl
, иначеurlActual
. Похоже, вы просто добавляете свой текущий URL.3. Я получаю это следующим образом: useLocation().pathname;
4. Мне пришлось добавить этот параметр, потому что в противном случае я был направлен на корневой путь
5. Итак, если значение
pathname
«/page/1» равноurlActual
/baseUrl
, а выto={
${baseUrl}page/2}
, как вы думаете, каким будет путь к отправке?