亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ReactJS -> 為什么我的本地存儲以這種方式存儲項目?

ReactJS -> 為什么我的本地存儲以這種方式存儲項目?

至尊寶的傳說 2023-04-20 09:53:58
所以我在 useEffect 函數中有一個 localstorage setter 和 getter,如下所示:useEffect(() => {        localStorage.setItem('products', JSON.stringify(product))})useEffect(()=>{    setProduct([...product,JSON.parse(localStorage.getItem('products'))])},[])然后我使用我在此處聲明的 setProduct 將它們保存到一個數組中:    const [product, setProduct]= useState([])每當我在控制臺中記錄產品數組時,它都會在控制臺中以下列格式返回數組:Array(1)  0: Array(5)   0: Array(4)     0:       Image: "/static/media/Dress.1c414114.png"       Price: 540       id: 0       name: "Blue Dress"       __proto__: Object     1:       Price: 600       id: 1       image: "/static/media/Dress.1c414114.png"       name: "Red Dress"       __proto__: Object我的問題是為什么它以這種格式顯示自己,我怎樣才能讓它看起來像這樣:Array(1)     0:       Image: "/static/media/Dress.1c414114.png"       Price: 540       id: 0       name: "Blue Dress"       __proto__: Object     1:       Price: 600       id: 1       image: "/static/media/Dress.1c414114.png"       name: "Red Dress"       __proto__: Object
查看完整描述

1 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

你JSON.parse返回一個數組。


setProduct([...product,JSON.parse(localStorage.getItem('products'))])

將創建一個包含product本地存儲項的數組以及另一個數組。


改為傳播本地存儲項目。


setProduct([...product, ...JSON.parse(localStorage.getItem('products'))])

或者只是把它留在記憶中


const [product, setProduct]= useState(JSON.getItem('products') || []);

useEffect(() => {

  localStorage.setItem('products', JSON.stringify(product));

}, [product])

product并setProduct正常使用


查看完整回答
反對 回復 2023-04-20
  • 1 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號