H5W3
当前位置:H5W3 > JavaScript > React > 正文

【React】js如何通过一个触发操作修改数组的某一项的某一个值

let arr=[{text:’sdfa’,completed:true,id:-1}, { text:’ssssss’,completed:false,id:-2 } ];
arr.map((todo)=>

<li onClick={//点击改变li的completed值}>{todo.text}</li>

)

请问这里的onClick函数怎么写?

回答

当时过于纠结改变一项的值,其实直接返回修改后的数组就可以了

let arr=[{text:'sdfa',completed:true,id:-1}, { text:'ssssss',completed:false,id:-2 } ];
arr.map((todo)=>

<li onClick={() => {
    arr = arr.reduce((res, item) => {
        if(item.id === todo.id) {
            item.completed = !item.completed;
        }
        return [...res, item];
    }, []);
    console.log(arr);//修改后的
}}>{todo.text}</li>
)
arr.map((v,k)=>(<li onClick={v=>v.completed=!completed} key={k}>{v.text}</li>))

本文地址:H5W3 » 【React】js如何通过一个触发操作修改数组的某一项的某一个值

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址