@n1ksON
Freelance

Как обновить url после запроса к API?

Использую react-router-dom.
Суть: выполняется запрос к API, после получения ответа все отображается, но необходимо, чтобы после получения ответа обновлялась url-ссылка. Так как на странице используется пагинация, то при клике на каждую кнопку страницы, должен изменяться url. Чтобы потом был доступ по url к каждой странице. Как это сделать?
Сначала хотел использовать history.pushState(), но понял, что при использовании react-router-dom это излишне.
Теперь делаю вот как:
*Выполняется запрос*
*Приходит ответ*

В константу записывается сам запрос и он подставляется в NavLink и Route. Но ничего не выходит.
Пример:
App.js
const link = props.link // в props.link приходит: `?q=+language:&sort=stars&order=desc&page=1&per_page=10`
<Route path={link} />

Main.js
<input />
<NavLink to={props.link}><button>Search</button></NavLink>

Ошибка:
TypeError: Cannot read property 'pathname' of undefined

Подскажите, что делать?
  • Вопрос задан
  • 41 просмотр
Решения вопроса 1
@cython
import { useHistory } from "react-router-dom";

const history = useHistory();  // В компоненте

history.push("/path");  // Чтоб перейти к Route через react-router
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы