Возникла проблема с установкой этой группы объектов в массив - PullRequest
1 голос
/ 23 июня 2019

Итак, у меня есть эта функция с именем! HandleDetail, которая получает элемент после щелчка и загружает подробный экран. Когда он перезагружается, он показывает только один объект, независимо от того, на каком объекте я щелкнул. Поэтому, если я нажал на iPhone и перезагрузил браузер, он перезагружается с показом объекта единственного предмета (футболка). Я уверен, что это как-то связано с состоянием, так как я исправил другие ошибки, подобные этому, используя состояние. Я думаю, что мне нужно отобразить созданный массив, чтобы собрать информацию и установить ее состояние. Вот видео, показывающее, что я имею в виду: https://tyriquedaniel14-gmail.tinytake.com/tt/MzYwMDcwN18xMDg4NTEzMQ. Чтобы прояснить ситуацию, я пытаюсь, чтобы в состоянии детализации отображался соответствующий элемент с тем же идентификатором.

 state = {
    products: [],
      clothing: [],
      gadget: [],
    smoke:[],
    detailProduct: detailProduct,
    cart: [],
    modalOpen: false,
    modalProduct: detailProduct,
    cartSubTotal: 0,
    cartTax: 0,
    cartTotal: 0
  };

 getItem = id => {
    const product = this.state.products.find(item => item.id === id);

    return product;
  };

  handleDetail = id => {
    const product = this.getItem(id);
    this.setState(() => {
      return { detailProduct: product };
    });
  };

export const detailProduct = {
  id: 1,
  title: "COMME DES GARCONS TEE",
  img: "img/product-1.png",
  img2: "img/product-1-1.png",
  img3: "img/product-1-2.png",
  img4: "img/product-1-3.png",
  luxury: "All Luxuryitems are inspected to verify authenticity",
  price: 200,
  info: " COMME DES GARCONS PLAY BASIC LOGO TEE",
  inCart: false,
  count: 0,
  total: 0,
  size1: "Small",
  size2: "Medium",
  size3: "Large",
  size4: "Extra Large",
  fabric: "100% Cotton",
  category: "Mens Fashion"
};
 This is My router link
            <Link to="/details">

Я пытаюсь превратить это в массив всех продуктов. Я попытался добавить метод карты и установить detailProduct для продукта.

1 Ответ

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

Это нормальное поведение в состоянии реакции, если вы обновляете страницу, то состояние становится исходным, когда вы устанавливаете его на свое постоянное значение с detailProduct вашей футболки, если вы хотите показать определенный элемент на основещелчок, который вам нужен для добавления идентификатора в URL, потому что при каждом обновлении страницы ваше состояние сбрасывается, поэтому нет записи действий, которые вы выполняли, щелкая.

Используйте URL с таким идентификатором, как детали / идентификатор таким образомваше приложение может запомнить элемент, который вы посетили

...