setData(data + 1)
→ 현재 렌더링 시점의 data 값을 기준으로 업데이트 (여러 번 호출 시 누적 안 됨)
setData(prev => prev + 1)
→ 항상 최신 상태 기준으로 안전하게 업데이트 (여러 번 호출 시 누적 O)
setData(!data)
→ 캡처된 data 뒤집기
setData(prev => !prev)
→ 최신 상태 뒤집기 (여러 번 호출 시 안전)
setData(prev=>prev+1) vs setData(prev=>prev++)
→ setData(prev=>prev+1)
- 상태는 prev + 1 값으로 업데이트됩니다.
- 안전하고 의도한 대로 "1 증가"
→ setData(prev=>prev++)
-
- 현재 prev 값을 반환 (증가 전 값)
- 그 후 prev 변수를 지역적으로만 +1 (하지만 이 변경은 함수 내부의 지역 변수에만 적용되고, 리액트 상태에는 반영 안 됨)
- 결국 setData는 증가 전 값을 상태로 저장
'메모' 카테고리의 다른 글
| Find, indexOf, FindIndex 차이 (0) | 2025.09.19 |
|---|---|
| Tailwind 메모 정리 (0) | 2025.09.04 |
| 8_19, 8_20, 8_21 메모 (0) | 2025.08.19 |
| 08_05 메모 (1) | 2025.08.05 |
| 07_08, 07_10, 07_18 메모 / 코딩중 메모 (1) | 2025.07.08 |