Спасибо за ваши комментарии. Я на самом деле исправил свою проблему, поэтому я хочу объяснить, как я это сделал.
Как я уже говорил, я использую Gatsby, и у меня есть многоязыковой веб-сайт. Страницы, создаваемые динамически с помощью файлов .md. Гэтсби перерисовывает, когда компонент верхнего уровня изменяется между страницами. На самом деле, это сломало мои переходы на боковой панели, потому что он был размонтирован и смонтирован макет снова, когда я меняю страницу.
Гэтсби не автоматически оборачивает страницы в компоненте макета. Поэтому я обернул страницы макетом, используя gatsby-plugin-layout . Я сделал 2 разных макета. Один из них основной макет с боковой панелью и заголовком, другой для моих динамически создаваемых страниц. Я могу использовать один внутри другого. Теперь это не повторный рендеринг моего основного макета, это просто повторный рендеринг макета, который я создал для страниц внутри основного макета, полоса прокрутки не переходит наверх и переходы работают нормально.
Я не знаю, если я объяснил хорошо. Я надеюсь, что это помогает другим, у кого такая же проблема.