0%

React useState 修改 Object value

前言

開發中筆記筆記!!

在一般Array中
裡面對有很多Obj
但想修改其中的內容該如何修正

以下範例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//這是一般Array內的內容
const [todo, setTodo] = useState("") //放todo Array


//將輸入的東西加入todo Array內
setTodo([
...todo,
{
text: inputText,
completed: false,
id: Math.floor(Math.random() * 1000),
},
])

如果需要修改 completed 改成true Or !todo.completed 可以這樣寫:

1
2
3
4
5
6
7
8
9
10
11
12
13
//點擊修改 使否已完成
setTodo(
todo.map((item) => {
if (item.id === id) { //這句是判斷 是否有相同的id 可以依照各位想做的判斷自行修改
return {
...item,
completed: !item.completed,

}
}
return item
}),
)

也可以不加判斷 ,將全部修改成true

1
2
3
4
5
6
7
8
9
// 中間列表  ---將全部的完成選取成TRUE
setTodo(
todo.map((item) => {
return {
...item,
completed: true,
}
})
)

以上

希望有幫助到各位

累

References

你的支持是我活力的來源 :)