[10분 테코톡] 재오의 React, 객체지향 관점에서 바라보기
- 객체지향의 핵심은 역할, 책임, 협력이며, 객체는 스스로 판단하고 행동하는 자율적인 존재입니다. 🤝
- 자율적인 객체는 외부의 구체적인 지시 대신 메시지를 스스로 해석하여 처리함으로써, 책임 분리를 명확히 하고 변경에 유연하게 대응할 수 있습니다. 🧠
- React에서 컴포넌트는 UI 표현을, 커스텀 훅은 도메인 로직을 담당하는 객체로 볼 수 있으며, 이들은 인자, 반환 값, props를 통해 메시지를 주고받으며 협력합니다. ⚛️
- 프론트엔드 환경의 끊임없는 변경에 효과적으로 대응하기 위해 React에 객체지향적 설계가 필요하며, 이는 가독성, 유지보수성, 안정성, 확장성, 협업 용이성을 높입니다. 🔄
- 단일 컴포넌트에 로직과 UI가 혼재된 경우, 커스텀 훅으로 도메인 로직을 분리하여 책임 분리를 명확히 하고 변경에 효과적으로 대응할 수 있습니다. ✂️
- 상태 변경 함수를 직접 props로 전달하는 대신,
onConfirmClick과 같이 의도를 드러내는 콜백 함수를 전달하여 컴포넌트의 캡슐화를 강화하고 확장성을 확보할 수 있습니다. 🎯
- 결론적으로, 컴포넌트는 UI, 커스텀 훅은 도메인 로직을 담당하며, 구체적인 동작보다 의도를 드러내고, 의도를 전달하여 변화를 최소화하는 것이 React에서 객체지향을 적용하는 핵심입니다. ✨