React 關於 state 的一些概念

簡短但重要。

簡述

在 React 裡面更新 state 的方式是透過 setState 來判斷新的跟舊的 state 差別,如果沒有差異的話是不會更新的。

總而言之,你應該要建立一個新的 state 而不是直接去改 state。

另外 useState 回傳的 setState 一般來說是非同步的,所以你沒辦法在 set 完以後就馬上拿到最新的 state:

1
2
3
4
5
6
7
8
9
10
11
12
13
const handleAddTodo = (content) => {
setTodos([
{
id,
content,
isDone: false,
},
...todos,
]);
// 不會是新增以後的 state
console.log('todos', todos)
id++;
};

只是個簡短的筆記,但這些觀念還蠻重要的,所以還是寫下來吧。

React 關於 render React 父子元件間的溝通
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×