컴포넌트 중복에 대한 질문입니다.
643
작성한 질문수 7
안녕하세요 항상 강의 잘 듣고 있습니다.
강의를 듣다가 생각해 보니 PostEditForm과 PostAddForm이 거의 비슷하게 생겼고 하는 일도 조금의 차이가 있어서 저는 PostForm.vue를 만들고 this.$router.id의 존재 유무에 따라서 기존 데이터를 받아올지 말지 혹은 포스트를 create, edit할지를 결정하도록 만들었습니다.
다 만들고 생각해 보니 컴포넌트는 하나로 사용해서 좋긴 한데 하나의 컴포넌트에서 두 가지 일을 하는 느낌이 들어서 좋은 코드가 아니라고 생각이 들어서 질문드립니다. ( 물론 동작은 정상적으로 동작합니다. )
위와 같은 현상일 때는 하나의 컴포넌트에서 분기 처리하기보다는 Mixin이나 하이 오더 컴포넌트로 하는 것이 맞는 거겠죠? 맞는다면 Mixin이나 HOC 중에 어떤 걸 사용하는 게 더 좋을까요?
답변 1
0
안녕하세요 1blue님, 굉장히 좋은 고민이네요 :) 컴포넌트 설계시 해당 컴포넌트의 역할을 어디까지 잡을 것이냐 하는 문제인 것 같습니다. 저도 초반엔 1blue님과 같은 고민을 많이 했었던 것 같아요. 지금은 서비스 로직이 복잡해지는 경우를 대비해서 생성과 수정 모두 별도의 컴포넌트로 분리해 놓습니다. 1개의 컴포넌트에서 스크립트로 분기를 치기 시작하면 이후의 변경/수정에 대해서 빠르게 대응하기가 어려운 것 같더라구요. 1blue님도 개인적으로 더 고민해 보시고 설계해 보시면 좋을 것 같습니다 :)
node 10버전 사용
0
86
1
강의에 대해 질문 드립니다.
0
76
1
vue CLI 대신 vite를 사용해도
1
164
2
질문삭제
0
171
2
강사님 코드로 진행할 경우 console.log( config); 도 안찍혔어요. instance 를 생성해서 공통으로 사용하셨는데 loginUser 에만 커스텀한 instance를 넣으니 콘솔에 컨피그 객체가 찍혀요
0
102
1
로그인 에러발생만하면 네트워크 커넥션 에러 발생 해결
0
127
1
rndrmagkqslek.
0
79
1
계속 따라하다가 안돼서 bash에 연결할떄 안되더라구요
0
110
1
axios 에러가 뜹니다.
1
249
2
vue3로 진행하시면서 router에서 '*' 적용이 안되시는 분들
2
322
1
vue 관련 다른 강의 출시예정이없으신지 궁금합니다!
1
158
1
AppHeader.vue에 vue 디폴트 만들에 Delete `␍` 오류나면
1
200
1
vue3로 따라오시다가 import axios 에러 뜨시는 분들
2
463
2
$router 를 이용한 메인 페이지로 이동
1
294
1
혹시 node.js 10.24 버전으로 해도 상관없나요?
2
475
2
에러 경로가 LoginForm.vue 43번째줄 말고 다른 경로로 출력됩니다.
1
303
2
pinia 사용할려고 하는데 에러가 나옵니다.
1
496
2
swagger ui의 post/posts에 글 기록하려고 하면 unauthorized 에러가 납니다..
1
1119
2
safari 개발자 도구에 대한 질문입니다
1
579
2
스웨거에 글 등록시 401 에러가 나와요 ㅠ
1
733
2
이 에러 때문에 진행이 안되네요 ㅠ
1
678
1
windows .nvmrc nvm use 실행 오류
1
1559
2
강사님 최신화가 필요해보입니다.
2
965
2
npm i 에러
1
621
1





