강의

멘토링

커뮤니티

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

혜진님의 프로필 이미지
혜진

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

faker로 실감나는 더미데이터 만들기

useEffect 를 쓰고 안쓰고의 차이

작성

·

303

0

리액트 무료강좌도 다 듣고 본 강좌를 듣고있는건데도 아직까지 useEffect 에 대한 이해가 쉽게 되지 않네요ㅜ

1. useEffect 를 쓰는 이유가 컴포넌트의 라이프싸이클을 다를 수 있는것, 그리고 리렌더링 될 때마다 함수가 불필요하게 실행되는걸 막기위해 [] 안의 dependency 값이 바뀔 때만 실행되도록 할 수 있어서가 맞을까요?

수정) 계속 공부해보니 함수 컴포넌트에서 return 구문 밖에서의 함수 실행은 거의 모두 useEffect 내에 작성한다고 되어있는데 그럼

if (!me) {
return null;
}

 

이부분은 왜 useEffect 로 감싸지 않았나요? 용량이 크지 않아서 그런걸까요?

 

2. 어차피 로그인의 여부인데 굳이 me.id 가 아닌 me 의 여부로 넣어되지 않나요? 동작은 똑같이 합니다.

 

 

답변 1

1

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

1. 저 상황에서는 useEffect가 필요없긴 하네요. 다만 좀 특수한 경우입니다.

2. 네 deps배열에 넣은 값에 대한 라이프싸이클이 주 목적입니다.

3. deps 배열에객체를 넣는 것은 매우 안 좋은 습관입니다. 참조문제 때문에요.

혜진님의 프로필 이미지
혜진
질문자

이해됐습니다 감사합니다!!

혜진님의 프로필 이미지
혜진

작성한 질문수

질문하기