작성
·
365
1
안녕하세요 질문 남깁니다!
navigation bar 생성 수업인데요, 마지막 쯤에 소개된 useEffect함수를 사용했는데요, 이전에 todoapp에 나왔던onClick, onSubmit 등은 해당 이벤트가 발생하면 그것을 함수에 넘겨줘서 state, prop들을 update해서 반영하는 방식이었던 거 같은데요,
useEffect같은 경우에는 선언은 해뒀지만 언제 사용되는지 따로 명시가 되어 있지 않은 거 같은데 해당 함수의 경우는 렌더링 될 때마다 불리는 걸까요?
답변 2
1
안녕하세요!
useEffect는 먼저 렌더링이 한번 된 이후에 호출이 되게 됩니다.
useEffect(() => {
}, [])
그리고 만약 그 이후에도 호출이 되게 하려면
종속성 배열에 state나 props를 넣어주면 그 state나 props가 변할 때마다 다시 호출이 되게 됩니다.
useEffect(() => {
}, [종속성])
감사합니다.
0
안녕하세요 관련되어 추가질문이 있습니다.
useEffect 내부에 return부분은 unmount되는 시점에 호출된다고 구글링으로 찾았는데, 실제로 unmount되는 시점이 언제일까요? (앱을 종료할 때 종료해주는 개념일까요?)
그리고 종속성을 추가해주지 않았음에도 scroll을 위아래 움직일 때 계속 배너 색이 바뀔 수 있는 이유가 궁금합니다 (useEffect가 한 번만 호출이 되더라도 계속 기능을 하는 건지 헷갈리는데 그렇다면 종속성을 아예 넣지 않은 경우와 같은 거 같아서요)