如何将本地存储中的数据设置为React js中的对象数组
how to setState the data from localstorage into an array of object in React js
这是我在 APP.js
中的 setState
this.state = {
todos:[
{id:0, content:'Welcome Sir!',isCompleted:true},
]
}
}
这里我是从本地srorage上取的数据
this.documentData = JSON.parse(localStorage.getItem('todos'));
}
我从 localstorage 中获取了数据,但不知道如何将其存储到 State 中
数据获取格式
{content: "dd",id: 0.10599785413372431,isCompleted: true}
请注意,这是一个待办事项应用程序,因此每次我们创建任务时都意味着我们创建了一个对象
因为你的 localStorage 只是 To-do 的一个对象。我认为您可以尝试将新数据设置到您的对象数组中:
this.setState( prevState => ({
todos: [
...prevState.todos,
JSON.parse(localStorage.getItem('todos'))
]
}))
请注意,这假定您将组件编写为 Class。
根据可用信息,以下代码将起作用 -
onNewTaskClickHandler = () => {
this.setState((prevState) => ({
todos: [].concat(prevState.todos).concat(JSON.parse(localStorage.getItem('todos')))
}));
}
这是我在 APP.js
中的 setStatethis.state = {
todos:[
{id:0, content:'Welcome Sir!',isCompleted:true},
]
}
}
这里我是从本地srorage上取的数据
this.documentData = JSON.parse(localStorage.getItem('todos'));
}
我从 localstorage 中获取了数据,但不知道如何将其存储到 State 中
数据获取格式
{content: "dd",id: 0.10599785413372431,isCompleted: true}
请注意,这是一个待办事项应用程序,因此每次我们创建任务时都意味着我们创建了一个对象
因为你的 localStorage 只是 To-do 的一个对象。我认为您可以尝试将新数据设置到您的对象数组中:
this.setState( prevState => ({
todos: [
...prevState.todos,
JSON.parse(localStorage.getItem('todos'))
]
}))
请注意,这假定您将组件编写为 Class。
根据可用信息,以下代码将起作用 -
onNewTaskClickHandler = () => {
this.setState((prevState) => ({
todos: [].concat(prevState.todos).concat(JSON.parse(localStorage.getItem('todos')))
}));
}