React JS中的cookie(保存/加载)

时间:2018-03-20 16:37:15

标签: reactjs cookies

我不熟悉在React JS中使用Cookie,我对下面的代码有疑问。

console.log(this.state.datasets);
cookie.save('datasets', this.state.datasets, { path: '/' , 'maxAge': 100000});
var myArray = cookie.load('datasets')
console.log(myArray);

this.state.datasets是一个充满元素的数组,我最初将数组打印到控制台,我能够看到数据。 但是当我尝试打印myArray时,我得到一个空数组。知道会出现什么问题吗?

1 个答案:

答案 0 :(得分:0)

您只能将字符串保存为Cookie。要保存数组,您必须以某种方式将其转换为字符串。如果您有一个对象数组,则可以通过JSON.stringify将其转换为字符串来存储它。

例如

let colors = [
{
    color: "red",
    value: "#f00"
},
{
    color: "green",
    value: "#0f0"
},
{
    color: "blue",
    value: "#00f"
}]

let x = JSON.stringify(colors)

值x将是一个可以保存为cookie的字符串。

要检索它,您可以使用JSON.parse将其转换回对象数组。

这样的东西
var myArray = cookie.load('datasets')
let obj =  JSON.parse(myArray)

obj将成为原始对象