인프런 커뮤니티 질문&답변
set 부분이 좀 잘 이해가 안가서요
작성
·
284
2
코드를 짤 때
setCounter 하면 바로 counter 값이 할당되는게 아닐까요?
아래 첨부해드린 코드에서 console.log(counter); 한 부분에 찍혀있는 counter 값은 변경되기 전의 값이 찍히더라고요.
답변 1
1
진유림
지식공유자
오 넘 좋은 포인트예요~
이는 리액트가 setState를 비동기적으로 관리하기 때문입니다.
그래서 setState함수 아래에 state 를 찍어보아도 반영된 값이 아직 보이지 않는거죠.
브라우저 이벤트들이 다 끝날 때 리액트가 state change를 다 모아서 반영합니다.
아래 문서 읽어보시면 더 이해가 잘 가실거예요~
https://ko.reactjs.org/docs/faq-state.html#why-is-setstate-giving-me-the-wrong-value
33 setState 더 알아보기- 함수, 지연초기화
강의에서도 더 다룹니당





