response-redux обновляет значение хранилища, когда веб-страница обновляется в реагирующем редукторе? - PullRequest
0 голосов
/ 24 июня 2019

Я использую response-redux, когда я обновляю состояние веб-страницы в редукторе, исчезло. Это проблема с моим кодом или редуктором в response работает так же, и есть ли другой способ сохранить состояния при обновлении страницы.

Ответы [ 3 ]

1 голос
/ 24 июня 2019

Вы должны использовать localStorage или sessionStorage.После обновления страницы откройте ваш магазин.когда вы открываете проект в браузере, вы можете изменить маршрут с помощью history.push и хранилище не будет потеряно в этом случае.

localStorage и sessionStorage - лучший способ хранения данных.

вы можете установить что-нибудь в вашем localStorage и использовать ваши данные в конструкторе компонентов для начального состояния.

constructor(props) {
  super(props);
  this.state = {
    products: JSON.parse(localStorage.getItem('all-products')) || []
  }
}

, и когда вы хотите установить продукты с некоторыми изменениями, вы можете использовать состояние обратного вызова в качестве второго параметра:

this.setState({products: someChangesInProductsList}, state => {
  localStorage.setItem('all-products', JSON.stringify(state.products))
})

Кроме того, вы можете отправлять данные на следующий маршрут с помощью history.push, как показано ниже:

this.props.history.push({
    pathname: '/test',
    state: data
})

И получать данные в componentDidMount на следующем маршруте с помощью this.props.history.location.state.

1 голос
/ 24 июня 2019

Да, Redux работает таким образом.

Всякий раз, когда веб-страница перезагружается, кэш очищается и состояние избыточности тоже.

Сохранение данных может быть сделано: -

  1. Локальное хранилище : - будет действовать до тех пор, пока кэш не будет очищен
  2. Хранилище сеансов : - будет длиться до тех пор, пока сеанс не существует.

  3. Вы также можете использовать redux persist для сохранения вашего состояния приращения

0 голосов
/ 24 июня 2019

Да, Redux работает таким образом, когда вы обновляете страницу, состояние исчезает если вы хотите, чтобы некоторые данные были сохранены, вы можете использовать локальное хранилище или хранилище сеансов

...