강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

You Zheng님의 프로필 이미지
You Zheng

작성한 질문수

만들면서 배우는 리액트 : 기초

23 로컬스토리지에 데이터 싱크하기 2

useState 업데이트 시점

작성

·

321

1

선생님,

submit 했을때 updateMainCat() 함수에서

setFavorites()으로 favorites state를 업데이트 시켜주잖아요? 

그런데 favorites 를 console에 찍어보면

update가 안 되어 있거든요? 

re-렌더링이 되고 나서야 update가 되어있는데~~ 

이거 원래 이렇게 동작하는 건가요? 

뭔가 좀 이상한게~

화면은 이미 새 이미지로  바껴있는데

왜 state값은 그대로 일까요?

 

 

 

답변 1

0

진유림님의 프로필 이미지
진유림
지식공유자

좋은 질문입니다.

바로 리액트가 성능을 위해서 여러 state호출을 한꺼번에 묶어서 처리하기 때문인데요,

그래서 setFavorites코드 바로 아래에 console.log(favorites) 를 찍으면 아직 업데이트가 되지 않은 상태로 나올거예요.

이는 33강에서 더 배웁니다 :) ㅎㅎ

 

이 문서를 참고해보셔도 좋겠네요

https://ko.reactjs.org/docs/faq-state.html

You Zheng님의 프로필 이미지
You Zheng
질문자

앗!! 설날에  답변 안 달아 주셔도 되는데^^ ㅎㅎ;;;;

참고문서 한 번 파보도록 하겠습니다!! 

감사합니다~

 

 

You Zheng님의 프로필 이미지
You Zheng

작성한 질문수

질문하기