
32
자바스크립트 + 리액트 디자인 패턴
더 견고해질 수 있습니다.
패턴은 완벽한 해결책이 아닙니다. 패턴은 단지 체계화된 방법을 제시하는 것뿐입니다. 패턴은
설계에 관한 모든 문제를 해결해주지 않으며, 뛰어난 소프트웨어 설계자를 대체할 수도 없습니다. 따라서 좋
은 패턴을 선택하려면 좋은 설계자가 여전히 필요합니다.
1.3
디자인 패턴의 일상 활용 사례
리액트를 사용해 본 적이 있다면 공급자
패턴
Provider
Pattern
을 접해 보셨을 것입니다. 접해 보지
않았다고 해도, 아마도 다음과 같은 상황을 겪어보셨을 수도 있습니다.
웹 애플리케이션의 컴포넌트 트리는 사용자 정보나 접근 권한 같은 인증 혹은 권한과 관련
된 데이터를 공유해야 하는 경우가 많습니다. 기존 자바스크립트에서는 루트 컴포넌트에 이
러한 데이터를 저장한 뒤에 상위에서 하위 컴포넌트로 전달하곤 했습니다. 컴포넌트의 계
층 구조가 깊어지고, 중첩이 많아지면 데이터는 안쪽 끝까지 들어가게 되어 프롭 드릴링
Prop
Drilling
07
을 초래하게 됩니다. 이렇게 되면 해당 데이터를 사용하는 모든 하위 컴포넌트에 프로
퍼티 설정과 전달이 반복되어 유지보수가 어려운 코드가 만들어지게 됩니다.
리액트와 다른 여러 프레임워크는
공급자 패턴
을 사용해 이런 프롭 드릴링 문제를 해결합
니다.
리액트의
Context ...