서버 컴포넌트란?

규갓 God Gyu·2025년 1월 18일

면접질문

목록 보기
51/142

리액트 18버전에서 도입된 새로운 기능
서버에서만 렌더링되는 컴포넌트임
즉 브라우저 쪽 번들 크기를 줄이고, 초기 로딩 속도를 개선할 수 있음

ex - 데이터베이스, api에서 데이터 가져오는 작업을 서버에서 처리하고 클라이언트로 보낼 수 있어서 클라이언트와 서버 간 데이터 통신 줄일 수 있음
그래서 클라이언트는 HTML과 JSON만 전달받아 렌더링하면 됨

보안 측면에서도 강점이 있음

클라이언트 컴포넌트는 인터랙션이 필요한 ui를 담당, 서버 컴포넌트는 데이터 중심의 ui를 담당하는 식으로 역할 분리 가능

그리고 성능 최적화와 보안 개선, 개발자 경험 측면에서 많은 이점을 가져다줄 수 있는 기능

but

서버 의존성이 증가해서 서버가 다운되거나 응답 시간 느려지면 클라이언트도 영향을 받음
특히 정적 사이트나 서버리스 환경에서 작업하려는 경우 사용할 수 없거나 제약 있을 수 있음

사용자 경험과 인터랙션 문제도 있음
서버 컴포넌트는 클라이언트 컴포넌트와 결합해서 사용해야 하는데, 이 과정에서 실시간 업데이트, 드래그 앤 드롭 등을 처리하기 어려움(인터랙션)
서버 컴포넌트는 주로 정적인 데이터나 렌더링에 적합하기 때문에, 클라이언트 쪽의 인터렉션이 필요한 경우 한계가 있을 수 있음

profile
웹 개발자 되고 시포용

0개의 댓글