아키텍처를 염두에 두지 않고 작성한 코드는 시간이 지나면서 점점 더 유지보수하기 어려워집니다. 리액트 프로젝트를 어니언 아키텍처를 이용해 구조화한다면, 가독성과 유지보수성 및 확장성이 좋은 코드를 작성할 수 있을 것입니다.
리액트 프로젝트가 시간이 지나더라도 생산성을 유지할 수 있도록 하려면 어떻게 해야 할까요? 어니언 아키텍처는 아주 간단한 제약 사항만을 요구하고, 불변성과 함수형 컴포넌트가 기반이 되는 리액트와 잘 어울리기 때문에, 생산성 하락 문제를 해결할 방법이 될 수 있습니다.
부모 계층이라는 개념을 도입하면, 어니언 아키텍처의 기본 원칙을 지키면서도 서로 다른 위계화 기준을 가진 계층들을 구성할 수 있습니다. 일반성 역전 현상이 나타날 수 있다는 단점이 있지만, 부모 계층의 모듈화를 도입하면, 추상화 벽의 장점을 극대화할 수 있습니다.
프리젠터를 '전역 상태를 포함하지 않는 리액트 컴포넌트'로 정의하면, 프리젠터는, 부수효과가 있더라도, 순수 함수의 모든 장점을 가진 '준순수 함수'가 될 수 있습니다.