-1

这是我在 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} 请注意这是一个待办事项应用程序,因此每次创建任务时都意味着我们创建了一个对象

4

2 回答 2

0

因为您的 localStorage 只是 To-do 的一个对象。我认为您可以尝试将新数据设置到对象数组中:

this.setState( prevState => ({
  todos: [
    ...prevState.todos,
    JSON.parse(localStorage.getItem('todos'))
  ]
}))

请注意,这假设您将组件编写为类。

于 2020-05-13T05:27:06.253 回答
0

根据可用信息,以下代码将起作用 -

onNewTaskClickHandler = () => {
this.setState((prevState) => ({
    todos: [].concat(prevState.todos).concat(JSON.parse(localStorage.getItem('todos')))
}));
}
于 2020-05-13T05:30:21.097 回答