Open sewonkimm opened 1 year ago
1번은 퍼블리셔, 2,3번을 FE개발자가 처리하는 구조로 개발을 진행하는 것으로 나뉘기도 한다. 그러나 React에서는 JSX로 UI와 로직을 함께 관리하므로 종종 conflict이 발생하고 관심사가 분리되지 않는 문제가 있었다.
A 기능을 구현한다고 하면
올바른 VAC 컴포넌트는 핸들러를 바인딩만 할 뿐, 기능이나 상태 제어에 관여해서는 안된다.
로직을 수행하는 컴포넌트와 UI를 보여주는 컴포넌트를 분리하는 패턴. 이렇게 되면 동일한 마크업이나 레이아웃은 재사용 가능하다. Dan Abramov가 2015년 처음 소개했으나 2019년에 hooks를 사용하면서 더 이상 이 패턴을 추천하지 않음. (https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0)
View type
1번은 퍼블리셔, 2,3번을 FE개발자가 처리하는 구조로 개발을 진행하는 것으로 나뉘기도 한다. 그러나 React에서는 JSX로 UI와 로직을 함께 관리하므로 종종 conflict이 발생하고 관심사가 분리되지 않는 문제가 있었다.
관심사의 분리
VAC Pattern
VAC(View Asset Component)
구체적인 구현
A 기능을 구현한다고 하면
올바른 VAC 컴포넌트는 핸들러를 바인딩만 할 뿐, 기능이나 상태 제어에 관여해서는 안된다.
Pros and cons
Presentational & Container Pattern
로직을 수행하는 컴포넌트와 UI를 보여주는 컴포넌트를 분리하는 패턴. 이렇게 되면 동일한 마크업이나 레이아웃은 재사용 가능하다. Dan Abramov가 2015년 처음 소개했으나 2019년에 hooks를 사용하면서 더 이상 이 패턴을 추천하지 않음. (https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0)
Presentational component
Container component