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

miniapp님의 프로필 이미지
miniapp

작성한 질문수

따라하며 배우는 리액트 A-Z[19버전 반영]

네비게이션 바 컴포넌트 생성하기

13:00 return() => {} 부분

해결된 질문

작성

·

195

0

안녕하세요.

13:00에서, useEffect 클린업 부분에 '스크롤 하면 이벤트리스너가 제거' 된다고 해석하면 될까요?

window.removeEventListener("scroll", () => {})

 

답변 1

1

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요!! 

현재 "스크롤"이라는 이벤트가 발생하면 어떠한 함수를 호출할 건지 리스너를 등록해준 것입니다. 

이것을 이벤트 리스너 등록이라고 하는데 이 리스너를 등록했기 때문에 마우스 스크롤을 할 때마다 함수가 호출된 것입니다. 

근데 이 해당 컴포넌트를 사용하지 않는데 이 리스너가 계속 등록되어있으면 안 되겠죠?!! 

그렇기 때문에 이 리스너를 제거해주는 부분입니다. 

그래서 질문해주신 부분은 

컴포넌트를 사용하지 않게 될 때 스크롤에 대한 이벤트가 발생할 때 호출되는 함수를 더 이상 호출되지 않게 해당 이벤트 리스너를 지워주는 부분입니다. 

감사합니다.

miniapp님의 프로필 이미지
miniapp

작성한 질문수

질문하기