[英]Why when i add a new product in my local storage, he is replace by the new one
[英]The previous product disappear when adding new product in React local storage
我正在尝试将产品存储在本地存储中,但是当添加新产品时,之前的产品就会消失。 即使我在本地存储中传递一个数组。 当我再次单击同一个产品时,它会更新数组,但是当添加新产品时,以前的产品就会消失。
这里是 cardInsideView 的代码:
export default function CardInsideView() {
const [CartItems, setCartItems] = useState([])
const location = useLocation()
const AddItemsIntoCart =()=>{
console.log("working")
setCartItems([...CartItems,location.state])
}
useEffect(()=>{
if(CartItems.length){
localStorage.setItem("items",JSON.stringify(CartItems))
}
},[CartItems])
我有 3 个屏幕,显示卡片的主屏幕,从 uselocation 获取数据的卡片内部视图屏幕,以及显示存储在本地存储中的产品的购物车屏幕。
这是 CartScreen 的代码
const getDataFromLocalStorage =()=>{
const data = localStorage.getItem("items")
if(data){
return JSON.parse(data)
}else{
return []
}
}
let data = getDataFromLocalStorage()
记住单击同一产品时会更新本地存储阵列,但不会在我们添加新产品时更新。 当点击相同的产品时
试试这个
setCartItems([...localStorage.getItem("items"),location.state])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.