2 min read

[T-002] 단일 프롭(A Prop)으로 컴포넌트 만들기

Container-UI 패턴은 리액트 생태계에서 많은 사랑을 받아왔어요. '데이터를 가져오는 부분'과 '보여주는 부분'을 분리하자는 아이디어가 GraphQL에서는 장점으로 작용하기 어려울 수도 있어요. GraphQL의 가장 멋진 특징 중 하나가 코로케이션이거든요. 컴포넌트가 자신이 필요한 데이터를 내부에서 바로 선언할 수 있다는 점이에요. props drilling도, 자식에게 내려주기 위해 스스로 사용하지 않는 데이터를 가질 필요도 없어져요.

사실 Container-UI 패턴은 REST API를 쓸 때 더 의미가 있었던 것 같아요. REST에서는 엔드포인트가 고정되어 있고, 받아오는 데이터 구조도 서버에서 결정했기 때문에, 데이터 fetching 로직을 별도로 분리하는 게 의미가 있었어요. 하지만 GraphQL에서는 각 컴포넌트가 자신의 데이터 요구사항을 정확하게 명시할 수 있기 때문에, 이런 분리는 오히려 불필요한 추상화가 될지도 몰라요.

단일 프롭A Prop 패턴

This post is for subscribers only