state prev

OwlSuri·2022년 4월 1일
0

state prev는 state의 바로 직전 값을 의미한다.
prev가 필요한 이유는

const [state, setState] = useState(0)


const function Counter = () =>{
	setState(state+1)
    setState(state+1)
    setState(state+1)
    setState(state+1)
    setState(state+1)
}

이 Counter 함수안에서 setState를 다섯번 주었지만, 결과는 한번만 더해진 1이 나오기 때문이다.
setState의 값은 계속 초기값인 0이 들어가기 때문에,
다섯번 모두 0+1 이 된다.

누적값을 구하고 싶을때는 prev를 사용해야한다.

const [state, setState] = useState(0)


const function Counter = () =>{
	setState(prev+1)
    setState(prev+1)
    setState(prev+1)
    setState(prev+1)
    setState(prev+1)
}

첫번째 setState에서 0+1
두번째 setState에서 첫번째 값인 1과 1을 더해서 2,
첫번째 setState에서 두번째 값인 2와 1을 더해서 3
.
.
이렇게 누적되어 5를 받을 수 있게 된다.

profile
기억이 안되면, 기록을 -

0개의 댓글