【发布时间】:2021-06-01 07:48:29
【问题描述】:
我正在使用 Localstorage 和 States 更新用户的购物车,但在用户重新加载页面之前不会进行更新。我的代码如下:
const [cart, setCart] = useState([])
useEffect(()=>{
const data = localStorage.getItem('cart')
setCart(JSON.parse(data))
}, [])
我在页面加载时设置用户的购物车。
现在,当用户增加商品数量时,例如,ONE 购物车商品将如下所示:
const singleCartItem = {
qty: 10,
color: 'red'
size: 's'
productid: 'asdasd123213'
}
这是我用来更新caritem数量的函数:
const incrementQty = (type, id, qty) => {
incart.forEach(el=>{
if(el.id === id) {
const index = incart.indexOf(el)
incart[index].qty = qty + 1
localStorage.setItem('cart', JSON.stringify(cart))
}
})
}
问题,就在这里。我知道 localStorage 在页面重新加载之前不会再次更新,但我该如何实现呢?
【问题讨论】:
标签: reactjs local-storage