1. 컴포넌트란


React는 처음부터 클라이언트 사이드 UI 라이브러리였다. 웹 및 모바일 개발자가 컴포넌트 기반 아키텍처를 활용하여 애플리케이션을 개발하는 데 도움이 되는 JavaScript 기반의 오픈 소스 라이브러리다.

React 철학은 우리가 디자인 전체를 더 작고 독립적인 부분인 “컴포넌트”라고 불리는 작은 조각으로 나누는 것을 제안한다.

전통적으로 이러한 모든 컴포넌트들은 자바스크립트의 함수다. 앱이 브라우저에서 로드될 때, 컴포넌트 코드를 다운로드하고 이를 사용하여 앱이 작동하도록 만든다.

2. React 앱의 일반적인 문제


React 클라이언트 컴포넌트는 훌륭하며 특정 사례를 해결하는 데 효과적이다. 하지만 React 앱을 구축할 때, 패턴을 조금 다르게 고려해 볼 필요가 있다. 이는 다음과 같은 사항을 고려해야 하기 때문이다.

  1. 레이아웃 이동 문제

  2. 네트워크 워터폴(waterfall) 문제 ⇒ 부모 컴포넌트에서 네트워크 호출이 완료될 때 까지 자식 컴포넌트가 렌더링 되지 않는 문제

  3. 유지 보수 관련 문제

  4. 성능 비용