
componentDidMount(),componentDidUpdate(),componentWillUnmount() 메소드를 오버라이드 해서 구현해야 함useEffect(setup, dependencies?);
setup : 컴포넌트가 마운트, 업데이트, 제거 될 때 호출되는 함수로setup 이 함수를 리턴하면, 리턴한 함수를 cleanup 이라고 부르며, 컴포넌트가 업데이트되거나 언마운트 될 때 호출됨(이전 effect의 cleanup이 먼저 실행되고 setup이 뒤에 실행됨)마운트:
→ effect 실행
count 변경 (업데이트):
→ cleanup
→ effect 실행
언마운트: // 의존성 배열이 [] 빈 배열 일 때
→ cleanup
dependencies (선택) : 의존 객체 배열setup 함수를 호출할지 말지 여부를 결정하는데 사용dependecies 여부와 상관없이 setup 이 호출됨dependencies 를 생략하면, 컴포넌트가 업데이트될 때 항상 setup이 호출됨dependencies 에 빈 배열을 지정하면, 컴포넌트가 업데이트 될 때 호출되지 않음 (최초 마운트 시에만 호출)dependencies 를 지정하면, 컴포넌트가 업데이트 될 때 지정한 값 중 하나라도 수정되었을 경우에만 setup 함수가 호출됨의존성 배열이 없을 경우 무한 반복이 될 가능성이 크지만, 항상 그렇지는 않다.
→ 정확하게는 렌더링 될 때마다 effect가 실행된다.