@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
  • Вопрос задан
  • 37 просмотров
Решения вопроса 1
mmmaaak
@mmmaaak
Для setCart нужно использовать useEffect с зависимостью от item, так как добавление в корзину это по сути сайд эффект установки нового item, в данном случае
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@real2210
Обновление стейтов в реакт асинхроно происходит
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
04 дек. 2020, в 17:59
100 руб./за проект
04 дек. 2020, в 16:45
50000 руб./за проект
04 дек. 2020, в 16:41
1 руб./за проект