when to break up a component into multiple components
Last updated
Was this helpful?
Last updated
Was this helpful?
를 요약해보자.
1개의 컴포넌트로 앱을 작성한다면.. 다음 문제가 발생한다.
성능저하. 상태 변화가 하나라도 일어나면 앱 전체를 리렌더링
상태관리 어려움. 수많은 이벤트 핸들러로 관리 및 디버깅 어려움.(이 부분은 관심사 분리의 장점이다)
엣지 케이스 테스트 어려움. 격리된 테스트 하기 어려움.
여러명과 개발하기 어려움
선언적 컴포넌트 안에서
위와 같은 이유로 컴포넌트를 나눠 작성해야한다.
위의 답변을 요약하자면
"미리 나누지 말고 위 문제에 직면하면 나눠도 된다."
단일 컴포넌트를 여러 컴포넌트로 나누는 일은 "추상"이라고 부른다.
추상은 멋지지만 모든 추상은 비용이 따른다
- Sandi Metz
저자는 컴포넌트의 render 메서드가 길어져도 개의치 않는다. JSX는 js 표현식의 모음이다. 또한, 컴포넌트를 작은 크기로 나눠 이곳저곳에 을 하지 않고 render를 유지하는게 엄청 잘못된 것은 아니다.
문제가 발생하기 전까지 미리 컴포넌트를 작게 나누지 말자. 즉, 성급하게 컴포넌트를 추상화 하지 말자. 필요할 때 나누자.