Сохранять состояние в реакции при использовании реактивного маршрутизатора - PullRequest
0 голосов
/ 18 июня 2020

Я новичок в React. Пожалуйста, помогите мне в этом. Я использую реагирующий маршрутизатор (Link, Route, BrowserRouter, Switch) для перехода между разными страницами. Я установил состояние на одной из страниц, когда я возвращаюсь на предыдущую страницу, состояние теряется. Должен ли я использовать redux для хранения состояния?

Ответы [ 2 ]

0 голосов
/ 02 июля 2020

Допустим, у вас 2 страницы. Эти 2 страницы имеют некоторое внутреннее состояние. Теперь, когда вы переходите от страницы A к странице B.

состояния страницы B вызываются, начиная с constructor (если вы используете компоненты на основе классов) до componentDidMount. Итак, для страницы B определены состояния.

Теперь вы возвращаетесь на страницу A (по ссылке или через браузер), поэтому страница A получает fre sh call и начинает вызывать его внутренние состояния и начинается настройка всей страницы.

Итак, ваши предыдущие состояния теперь потеряны. Чтобы сохранить свои состояния, вам необходимо понимать управление состоянием с использованием Redux .

PS: Хорошо, что вы начинаете с React Hooks и глубоко погружаетесь в Redux для управления состоянием.

0 голосов
/ 18 июня 2020

Вы должны реагировать-redux, вы не можете получить состояние другого компонента, если вы хотите получить состояние из другого компонента, вы можете передать состояние из компонента A в качестве реквизита компоненту B

Пример:

import componentB from "path_to_the_component_b"

Затем вы можете передать состояние от компонента A к компоненту B с помощью таких свойств

<componentB state={this.state.your_state_name}/>
...