Toss Slash Effective Component(한재엽님) 세미나를 들으면서 정리한 내용입니다.
제품이 변경되지 않는다는 것은 사용자가 제품을 잘 사용하고 있다는 것이다. 그렇기에 제품이 변경된다는 것은 사용자가 더 제품을 잘 사용하게 하기 위해 변화를 하는 것이다. 우리는 이러한 제품의 변화를 유연하게 대처할 필요가 있다.
변경하는 것과 변하지 않는 것을 추상화한다
자세한 내용은 아래 내용을 더 알아보자.
또는 한 가지 역할만 하는 컴포넌트의 조합으로 구성
isOpen > Dropdown
Trigger > Dropdown.trigger
Menu > Dropdown.Menu / Dropdown.Modal
Item > Dropdown.Item
도메인을 포함하는 컴포넌트와 그렇지 않은 컴포넌트 분리
onClick
props를 전달해 사용한다.우리는 이와 같이 복잡도, 재사용 등의 측면에서 꼭 분리를 해야하는 지 고민해볼 필요가 있다.
컴포넌트를 설계하는 좋은 방법론인 것 같다. 지금까지의 나의 기준은 "적당히"에 맞춰져있던 것 같다. 그 점이 너무 공감이 되었고 앞으로의 프로젝트에서 나의 컴포넌트 설계의 하나의 기준이 될 것 같다. 하지만 여전히 복잡도, 재사용 측면에서의 고민은 계속되어야하는 것 같다.