我不熟悉在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
时,我得到一个空数组。知道会出现什么问题吗?
答案 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
将成为原始对象