본문 바로가기

카테고리 없음

[TIL] 함수형 업데이트

기존 setState 업데이트 방법

button onClick={() => {
	setNumber(number + 1);
}}

 

이렇게만 하던걸 함수형으로 업데이트하는 방식을 쓰면 

<button onClick={() => {
	setNumber((currentNum) => {
    	return currentNum + 1;
    })
}}>

 

 

이 방법은 

// 배치 업데이트
setNumber(number + 1);

// 함수형 업데이트
setNumber((currentNumber) => currentNumber + 1);

 

배치형 업데이트는 명령을 모아서 한번만! 실행한다.

 

함수형은 순차적으로 각각 한번씩 실행한다.

인자부분에 현재의 State를 가져오고, 바뀐 State를 반환한다.

 

왜 이렇게 만들었는지?

리액트 환경안에서 잦은건 성능에 이슈가 있는것이다.