Вы должны использовать 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
.