React-Маршрутизатор перезагрузите текущую страницу, затем перейдите по новой ссылке

#javascript #reactjs #reload

Вопрос:

У меня есть страница настроек, которая загружает данные в мое локальное хранилище, и по какой-то странной причине мне нужна перезагрузка для моей домашней страницы, чтобы получить эти новые данные. Таким образом, в качестве обходного пути, всякий раз, когда пользователь нажимает на кнопку «Домой», из Settings.js . Я хотел бы перезагрузить текущую страницу, а затем открыть эту новую ссылку именно в этом порядке.


 <Link onClick={() => window.location.reload()} style={{textDecoration: 'none'}}to='/'>
    <h1 class="titleVertical">Quick Type</h1>
</Link>
 

Выше я пытаюсь перезагрузить страницу после нажатия текста, а затем с помощью to I hope открыть домашнюю страницу '/' . Но по какой-то странной причине происходит следующее.

https://media.giphy.com/media/84PuHlLED46HLsgPwM/giphy.gif

  • страница перезагружена
  • переходит на домашнюю страницу
  • возвращается к settings.jsНо это очень быстро и довольно трудно понять, что происходит. Может быть, дело в этом.
  • переходит на домашнюю страницу
  • страница перезагружена
  • возвращается к settings.js

    Как я могу этого избежать? Если мой нажат, я хочу перезагрузить текущую страницу, а затем перейти по указанному URL-адресу. Или, если это проще, перейдите по указанному URL-адресу, а затем перезагрузите эту страницу.

  • Комментарии:

    1. Это звучит как проблема XY . Необходимость перезагрузки страницы в состояние синхронизации-это немного хитрый обходной путь к реальной проблеме, которая заключается в том, что вам, вероятно, нужно поддерживать это состояние выше по дереву компонентов (или с контекстом), а не принудительно перезагружать, чтобы Home знал, как получить информацию из локального хранилища.

    2. Извините, я очень новичок во всей этой истории с реакцией и js в целом. Является ли эта state вещь глобальной переменной, которая должна быть определена на моей домашней странице?