【问题标题】:Use local-storage to store array as a value and update it使用 local-storage 将数组存储为值并更新它
【发布时间】:2021-02-06 10:15:59
【问题描述】:

我正在尝试在本地存储中保存一些数据。我在这里尝试,

let marks = localstorage.getItem('marks') || [] 

现在,我正在尝试使用一些操作将元素添加到此数组中。

const addMarks = () => {
  
localstorage.setItem('marks', ['10'])   

}

然后我使用这个变量来渲染标记

marks.map((index, mark) => {

  return <h1>mark</h1>

})

但是这种方式不起作用,因为localstorage只支持字符串作为value

我该如何实现?

【问题讨论】:

标签: javascript css reactjs local-storage


【解决方案1】:

您是否尝试过只使用 .split() 方法?如果你创建一个数组 ['10', '9', '8'],你会得到 '10,9,8'。只需使用 .split(',') 即可得到一个数组!

localStorage.getItem('marks').split(',')

【讨论】:

    【解决方案2】:

    localStorage 仅支持字符串作为值,保存对象时必须JSON.stringify 对象,检索对象时必须JSON.parse 对象

    let marks = JSON.parse(localstorage.getItem('marks')) || [];
    
    const addMarks = () => {
      localstorage.setItem('marks', JSON.stringify(['10']))   
    }
    

    【讨论】:

      【解决方案3】:

      序列化JSON.stringify() 并将其解析回Parse

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-11
        • 2016-07-06
        • 1970-01-01
        • 2012-02-15
        • 2016-03-31
        • 2020-01-24
        相关资源
        最近更新 更多