Задать вопрос
@DeniSidorenko

Почему 1 элемент Stat'а пустой?

Добрый день, есть такой код
const [item, setItem] = useState({
    id: null, name: "", price: "", weight: ""
  })
  const [cart, setCart] = useState([])


  const addToCart = (id, name, price, weight) => {
    setItem({item, id:id, name:name, price:price, weight:weight})
    setCart(cart => [...cart, item])
  }

При клике на товар добавляю его в cart, а сам cart методом map вывожу в боковой панели. Есть проблема что при нажатии на продукт в cart 1 элементов встает item с Default значениями что я задал для InitialState item
  • Вопрос задан
  • 42 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
mmmaaak
@mmmaaak
Для setCart нужно использовать useEffect с зависимостью от item, так как добавление в корзину это по сути сайд эффект установки нового item, в данном случае
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@real2210
Обновление стейтов в реакт асинхроно происходит
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽