сохранение реквизита или состояния без использования Redux - PullRequest
0 голосов
/ 11 сентября 2018

Итак, я все еще новичок в React и пытаюсь сохранить значение состояния «количество»

    constructor(props){
        super(props);
        this.state = {
          visible: false,
          selected: false,
          quantity: ""
        }
        this.toggleMenu = this.toggleMenu.bind(this);
    }

Я хочу передать эти данные компоненту, связанному с родителем этогокомпонент и предотвратить потерю данных, если я вернусь.

<Link to={`/itemSelection/${sessionStorage.getItem("")}/checkout`}>PROCEED</Link>

______________________________________________________-

EDITED

Таким образом, родительским компонентом является ItemSelection, внутри него я импортирую компонент Item и отображаю черезнекоторые данные, которые я получаю от API.

<div className="row">
                    {this.state.items.map(i => <Item name={i.name} quantity={i.quantity} />)}
                </div>

количество, которое я передаю Item, является целым количеством, которое я получаю от API.

Внутри компонента Item

constructor(props){
    super(props);
    this.state = {
      visible: false,
      selected: false,
      quantity: ""
    }
    this.toggleMenu = this.toggleMenu.bind(this);
}

количество здесь - это количество, которое я выбираю для каждого выбранного товара.когда я щелкаю ссылку на компонент оформления заказа, я теряю эти данные, и если я возвращаюсь к компоненту itemSelection, я нахожу эти данные также потерянными.Поэтому я хочу передать это количество каждого элемента в компонент оформления заказа и предотвратить потерю данных, если я снова вернусь к компоненту itemSelection.Надеюсь, что это разъяснение имеет смысл.

1 Ответ

0 голосов
/ 11 сентября 2018

Ну, если я правильно понимаю, вы можете два варианта.Вы можете сохранить данные в sessionStorage и извлечь их в компоненте ItemSelection или сохранить данные в компоненте, который является родительским как для ItemSelection, так и для извлечения.

...