У меня уже есть рабочее решение с реагирующими перехватчиками, которое прокручивается в верхнюю часть страницы при изменении маршрута, но, к сожалению, это не работает для моего варианта использования.
import { useEffect } from 'react';
import { useLocation } from 'react-router-dom';
export default function ScrollToTop() {
const { pathname } = useLocation();
useEffect(() => {
return () => window.scrollTo(0, 0);
}, [pathname]);
return null;
}
Проблема в том, что я реализовав бесконечную прокрутку на некоторых из моих маршрутов с помощью пакетаа- существующие данные.
Изменение положения прокрутки, кажется, происходит сразу после рендеринга нового компонента, что приводит к одновременным повторным вызовам API. Но если позиция прокрутки уже находится наверху до смены маршрута, то все работает нормально.
Мне нужен способ убедиться, что прямо перед изменением маршрутов позиция прокрутки переходит наверх. Каков наилучший способ сделать это? Я посмотрел почти каждый пост, касающийся позиционирования прокрутки с реагирующим маршрутизатором, но я не могу обернуться вокруг него. Любая помощь будет оценена.