4 回答

TA貢獻1816條經驗 獲得超4個贊
數據必須以某種方式持續存在 - 這意味著您必須將其實際保存在某個地方。
您可以在客戶端上使用 localStorage。然后,請確保在購物車發生變化時更新它。
就像是:
const [cart, setCart] = useState(localStorage.getItem('cart'));
useEffect(()=>{
localStorage.setItem('cart', cart)
},[cart]);

TA貢獻1851條經驗 獲得超5個贊
如果您使用 Redux,請使用Redux-Persist,否則只需在組件掛載時從 localStorage 加載數據,并在組件卸載時將其保存到 localStorage

TA貢獻1909條經驗 獲得超7個贊
您應該在代碼中使用 localStorage。因為當你刷新頁面時,你的狀態是空的,但是本地存儲存儲了數據。
useEffect(() => {
let newCartData = localStorage.getItem("Product")
if (newCartData === []) {
return []
}
else {
return JSON.parse(newCartData)
}
}, [])
const addToCart = (product) => {
localStorage.setItem("Product", JSON.stringify(product))
}

TA貢獻1836條經驗 獲得超13個贊
當您刷新頁面時,您將丟失當前狀態,即它沒有存儲在其他地方,因此您必須首先將其存儲在某個地方。要存儲狀態,您可以直接將其存儲在 localStorage 中,也可以使用 redux-toolkit。在我看來,redux-toolkit 是最好的選擇。
您需要安裝 redux-toolkit,然后根據您的用途創建切片并存儲,這樣可以非常靈活地重用并在需要時清空狀態。
添加回答
舉報