• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

컴포넌트 중복에 대한 질문입니다.

21.06.09 10:14 작성 조회수 445

2

안녕하세요 항상 강의 잘 듣고 있습니다.

강의를 듣다가 생각해 보니 PostEditForm과 PostAddForm이 거의 비슷하게 생겼고 하는 일도 조금의 차이가 있어서 저는 PostForm.vue를 만들고 this.$router.id의 존재 유무에 따라서 기존 데이터를 받아올지 말지 혹은 포스트를 create, edit할지를 결정하도록 만들었습니다.

다 만들고 생각해 보니 컴포넌트는 하나로 사용해서 좋긴 한데 하나의 컴포넌트에서 두 가지 일을 하는 느낌이 들어서 좋은 코드가 아니라고 생각이 들어서 질문드립니다. ( 물론 동작은 정상적으로 동작합니다. )

위와 같은 현상일 때는 하나의 컴포넌트에서 분기 처리하기보다는  Mixin이나 하이 오더 컴포넌트로 하는 것이 맞는 거겠죠? 맞는다면 Mixin이나 HOC 중에 어떤 걸 사용하는 게 더 좋을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요 1blue님, 굉장히 좋은 고민이네요 :) 컴포넌트 설계시 해당 컴포넌트의 역할을 어디까지 잡을 것이냐 하는 문제인 것 같습니다. 저도 초반엔 1blue님과 같은 고민을 많이 했었던 것 같아요. 지금은 서비스 로직이 복잡해지는 경우를 대비해서 생성과 수정 모두 별도의 컴포넌트로 분리해 놓습니다. 1개의 컴포넌트에서 스크립트로 분기를 치기 시작하면 이후의 변경/수정에 대해서 빠르게 대응하기가 어려운 것 같더라구요. 1blue님도 개인적으로 더 고민해 보시고 설계해 보시면 좋을 것 같습니다 :)