여기서 Effect를 사용하면 렌더링 이후 일부 코드를 실행할 수 있다
⇒ 컴포넌트를 React 외부의 시스템과 동기화 할 수 있다
✅ (사전 준비) React 컴포넌트 내부 유형
But, 위 두 가지 유형만으로는 부족한 상황이 있다.
ex) 화면에 표시될 때마다 채팅 서버에 연결해야 하는 ChatRoom 컴포넌트
ChatRoom 표시를 촉발하는 클릭과 같은 특정 단일 이벤트는 없다💡 이럴때를 위해 Effect가 나옴!
Effect를 사용하면
특정 이벤트가 아닌 렌더링 자체로 인해 발생하는 사이드 이펙트를 명시할 수 있다.
Effect는 화면 업데이트 후 커밋(DOM에 변경사항 반영)이 끝날 때 실행된다.
Note