인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

pym7857님의 프로필 이미지
pym7857

작성한 질문수

React로 NodeBird SNS 만들기

6-6. 댓글 작성, 댓글 로딩

setCommentFormOpened 질문드립니다.

작성

·

132

0

(PostCard.js)

/* onClick -> 댓글창 열고닫기 */
  const onToggleComment = useCallback(() => {
    console.log(commentFormOpened); // false
    setCommentFormOpened(prev => !prev);  
  console.log(commentFormOpened);       // false                           //
    console.log(commentFormOpened);
    if (!commentFormOpened{
                             
      dispatch({
        type: LOAD_COMMENTS_REQUEST,
        data: post.id,
      });
    }
  }, [commentFormOpened]);

여기서, setCommentFormOpened()를 했을때, commentFormOpened state가 즉시 true로 변하지 않는 이유가 무엇인가요 ? 

console.log를 찍어보니 setCommentFormOpened() 앞뒤로 둘다 false가 떠서 궁금해서 질문드립니다.

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

setState같은 것은 비동기입니다. 다음 줄에 콘솔로그가 더 먼저 실행됩니다.

pym7857님의 프로필 이미지
pym7857

작성한 질문수

질문하기