Доступ к избыточному состоянию в новых вкладках / окнах - PullRequest
0 голосов
/ 28 октября 2018

Я использую избыточность для хранения моего состояния.Он работает правильно, когда я перехожу на одну и ту же страницу (несколько компонентов, но на одной странице).Но когда я открываю ссылку в новой вкладке / окне, состояние становится неопределенным.

На основании результатов ожидается, что состояние избыточности будет сброшено при обновлении страницы или открытии в новой вкладке / окне.Затем я подумал о том, чтобы передать store.getState () в качестве параметра при переходе к другому компоненту, чтобы, если компонент видит, что состояние не определено, он получит доступ к своему состоянию props (переданному предыдущим компонентом).

Теперь, когда ссылка открыта в новой вкладке, мне нужно передать состояние.Я использую реагирующий маршрутизатор для навигации.В настоящее время состояние передается на другую страницу, когда я просто нажимаю на ссылку.Но когда я открываю ссылку в новом окне / вкладке, состояние снова становится неопределенным.Я использую это, чтобы перейти к указанной ссылке:

<Link to={link}>{value}</Link>

, где ссылка является константой, содержащей путь и состояние (store.getState ()), который мне нужно передать.

Я нашел много похожих вопросов о стеке потока [например, программно-перемещаться-используя-реагировать-маршрутизатор] .Я пытался использовать

<a onClick={history.push(link)}>

, но, похоже, это не работает.Может быть, я использую это неправильно.Другие, которые я просто не могу понять, как использовать / реализовать в этом контексте.

Пожалуйста, дайте примеры фрагментов кода помимо объяснений.Я довольно новичок в редуксе / реакции.

Спасибо!

1 Ответ

0 голосов
/ 28 октября 2018

Первое, что вы должны проверить, это то, что вы используете правильную версию React-Router. Я не уверен, что этот подход будет работать во всем, кроме V4.

Если вы действительно используете React-Router V4, и он все еще не работает. Еще один более чистый подход, который вы можете использовать для сохранения состояния не только после перенаправления на новые вкладки / окна, но и после обновления, - это сохранение состояния вашего приложения в локальном хранилище.

Это видео Дана Абрамова объясняет, как это сделать.

...