React 함수형 vs 클래스형 컴포넌트

안녕하세요 신입 개발자 입니다.

몇가지 궁금증 있어서 나눠봅니다

클래스기반 컴포넌트보다 함수형컴포넌트가 렌더링시 속도가 빠르다 라고 알고있습니다.
대략적으로는 라이프사이클메소드가 함수형컴포넌트에선 없으니까 정도로만 알고있는데 이에대한 구체적인 이유를 찾이 못하고 있습니다.
그 이유가 뭔지 같이 나눠볼 수 있을까요??

속도가 빠르다는 것은 어떤 상황이냐에 따라 다른 것으로 알고 있습니다.
state 유무, props이 달라지면 결과(render)가 무조건 달라니는지 여부등에 따라 어느 것이 더 빠르냐가 달라집니다.
state가 없고 입력(props)가 달라지면 무조건 출력(UI)가 달라질 경우 함수형 컴포넌트(stateless)를 사용하는게 적절합니다. 그런데 요즘은 hook을 통해서 함수형 컴포넌트도 state를 가질 수 있으니 얘기는 좀 달라졌어요. :slight_smile:

따러서 요즘 저는 새롭게 작성하는 모든 컴포넌트는 함수형 컴포넌트로 작성하고 state가 필요한 경우에 hook을 사용합니다. state 로직을 재사용가능하고 코드가 간결해져서 작성하기도 편하고 읽기도 쉬워진다는 점이 좋습니다.