티스토리 뷰

728x90
반응형
const [counter, setCounter] = useState<number>(0);
// 1번쨰 방법
setCounter(counter + 1)
// 2번쨰 방법
setCounter((current) => current + 1);

둘 다 왠만한 상황에서는 문제가 없지만
많은 컴포넌트를 갱신하거나 데이터를 갱신하고, 또는 해당 useState를 많은곳에서 활용할때 1번째 방법은 문제가 발생할 수 있다.

리액트는 성능을 위해 state값 변경을 단일 업데이트로 한꺼번에 처리하기도 한다.
기본적으로 자바스크립트는 비동기 언어이므로 사용자가 의도하지 않은 순서, 의도되지 않은 시점에서의 동작이 될 수 있다

2번쨰의 경우 무조건 업데이트가 적용된 시점에서 더하기 때문에 오동작 우려가 없다

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함