동기적이라면?
setCount(count + 1);
console.log(count); // 만약 동기라면? 새로운 값이 찍혀야 함하지만 실제로는 여전히 이전 값이 찍힌다. 이유는 React가 setState를 즉시 반영하지 않고, 업데이트 요청을 큐에 쌓기 때문이다.
setState() 호출 → 업데이트 큐(update queue) 에 할 일 기록즉, setState는 곧바로 값을 바꾸지 않고, 렌더링 예약 역할만 함
React는 효율을 위해 여러 상태 업데이트를 한 번에 합쳐서 처리한다.
setCount(count + 1);
setCount(count + 1);+1함수형 업데이트는 항상 최신 상태(prev) 를 기준으로 계산하기 때문에 안전하다.
setCount(prev => prev + 1);
setCount(prev => prev + 1); // ✅ 최종적으로 +2 됨React는 큐를 처리할 때 prev를 순차적으로 업데이트하므로 원하는 결과가 나온다.
setState/setCount는 즉시 값이 변하지 않음