안녕하세요 코딩애플님 강의 잘 보고있습니다!
다름이 아니라 Lifecycle과 useEffect 2 강의를 보는 도중 조금 이상한 부분을 발견한 것 같아서 제가 이해를 잘못하고 있는건지 여쭤봅니다.
useEffect(() => {
//이부분이 mount
return(() => { //이부분이 unmount
})
}, []//이부분이 update)
이런식으로 생각을 해왔었는데, 코딩애플님께서 return함수 안에서 실행되는 부분이 useEffect 동작 전에 실행이 되는 코드라고 설명을 해주셔서 조금 헷갈리네요.
제가 알기로는 unmount는 컴포넌트가 사라질 때 실행이 되는건데, 그러면 정확히는 useEffect 동작 전에 실행이 되는게 아닌, useEffect가 다 끝나고 컴포넌트가 사라지기 전에 실행되는 코드라고 보는게 맞지 않을까요?
영상 안에서 보여주시는 방법으로도 확인했을 때 마지막에 1이 아닌 2가 출력이 되어있는 이유는 아직 컴포넌트가 unmount가 되지 않아서라고 생각을 하는데, 그러면 영상속 설명인 "useEffect 이전에 실행되는 함수"라는 설명은 틀린게 아닐까 싶어서 질문 남깁니다.
감사합니다