인프런 커뮤니티 질문&답변
useState 업데이트 시점
작성
·
321
1
선생님,
submit 했을때 updateMainCat() 함수에서
setFavorites()으로 favorites state를 업데이트 시켜주잖아요?
그런데 favorites 를 console에 찍어보면
update가 안 되어 있거든요?
re-렌더링이 되고 나서야 update가 되어있는데~~
이거 원래 이렇게 동작하는 건가요?
뭔가 좀 이상한게~
화면은 이미 새 이미지로 바껴있는데
왜 state값은 그대로 일까요?
답변 1
0
진유림
지식공유자
좋은 질문입니다.
바로 리액트가 성능을 위해서 여러 state호출을 한꺼번에 묶어서 처리하기 때문인데요,
그래서 setFavorites코드 바로 아래에 console.log(favorites) 를 찍으면 아직 업데이트가 되지 않은 상태로 나올거예요.
이는 33강에서 더 배웁니다 :) ㅎㅎ
이 문서를 참고해보셔도 좋겠네요






앗!! 설날에 답변 안 달아 주셔도 되는데^^ ㅎㅎ;;;;
참고문서 한 번 파보도록 하겠습니다!!
감사합니다~