简体   繁体   English

Javascript / 反应 —.map 无法正常工作

[英]Javascript / react — .map is not working properly

taking a react course, we are making a simple To Do list using setState.参加反应课程,我们正在使用 setState 制作一个简单的待办事项列表。 I was trying to have the value of a boolean change on an onChange event.我试图在 onChange 事件上更改 boolean 的值。 I have gotten stuck.我被卡住了。

I have an array of objects,我有一个对象数组,

array Definition:数组定义:

toDoData = [
    {
        id: 1,
        task: "Do laundry",
        completed: false
    },
    {
        id: 2,
        task: "Write essay",
        completed: false
    },
    {
        id: 3,
        task: "Do Homework",
        completed: true
    }

]

For the sake of simplicity, I am trying to map through the array and create a new array with the completed attribute being opposite of what it previously was.为了简单起见,我尝试通过数组 map 并创建一个新数组,其完成的属性与以前的属性相反。

 let updatedTodos = this.state.todos.map(todo => {
        todo.completed = !todo.completed
        return todo
      })
 
 console.log(updatedTodos)

When I print to the console, the values of completed are not changing.当我打印到控制台时,完成的值没有改变。

Try:尝试:

let updatedTodos = this.state.todos.map(todo => ({ ...todo, completed: !todo.completed }));
console.log(updatedTodos);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM