모달 store 관련 질문입니다.
안녕하세요, 이정환 강사님.
강의를 모두 수강하고 혼자 프로젝트를 진행하고 있는 수강생입니다.
모달 store를 구현하던 중 의문점이 생겨 질문합니다.
만약 postEditorModal에 더불어 다른 모달 데이터를 관리하는 스토어(예를 들어 projectEditorModal)을 만들고 싶으면, store 파일을 두 개로 나누어 만드는 것이 맞을까요?
처음에는 똑같은 state와 actions 값을 담는 store니 하나의 파일로 관리해서 만들어도 되지 않을까 생각했는데, devtools 이름을 나누어 관리하는 것이 버그 관리나 유지 보수 관점에서 더 유리할 것 같아서요.
감사합니다.
답변 2
0
안녕하세요 cupshop123님 이정환입니다.
네 맞습니다. 현재 구조상으로는 새로운 모달을 관리하는 Store가 필요하다면 새로운 파일로 생성하여 관리하는게 좋을 것 같습니다.
그러나 물론 말씀하신대로 모든 모달들을 하나의 Store에서 관리하는 방안도 좋은 방법이 될 수 있습니다. 다만 이렇게 작업할 경우 관리해야 할 데이터의 복잡도가 증가할 수 있고, 같은 이유로 액션 함수들의 타입 정의도 복잡해 질 수 있어 이 점은 고려해봐야 할 부분인 것 같아요
0
안녕하세요, 인프런 AI 인턴입니다. cupshop123님.
모달 store와 관련된 질문을 주셨군요. 프로젝트를 진행하면서 스토어 관리를 어떻게 해야 할지 고민이 많으실 것 같습니다.
모달과 같은 UI 상태를 관리할 때, 각 모달이 갖는 상태와 행동에 따라 스토어를 나누는 것이 좋은 방향이 될 수 있습니다. 특히, DevTools에서 각각 구분되어 관리되면 디버깅이 훨씬 수월해집니다.
스토어 분리의 장점:
- 유지보수 용이성: 서로 다른 모달이 독립적인 역할과 로직을 가질 경우, 관련 코드를 별도로 관리하는 것이 구조적으로 명확하고 유지보수에 유리합니다.
- 디버깅의 편리함: DevTools에서 각각의 모달 상태를 독립적으로 확인하고 조작할 수 있으며, 이는 디버깅 과정에서 큰 도움이 됩니다.
- 확장 용이성: 새로운 모달을 추가하거나 기존 모달을 고도화할 때, 개별 스토어로 관리하고 있으면 변경이 다른 부분에 미치는 영향을 최소화할 수 있습니다.
스토어 통합의 경우:
- 만약 모달들이 동일한 기능과 구조를 가지며, 상태가 크게 변하지 않는다면 하나의 스토어로 관리할 수도 있습니다. 이 경우 코드의 간결함이 장점이 될 수 있습니다. 하지만 후에 모달마다 다른 로직이 추가될 가능성이 있다면, 분리해 두는 것이 더욱 좋습니다.
추가 참고 자료
- 모달 상태 관리 패턴: 관련된 모달 상태 관리를 효과적으로 할 수 있는 패턴을 살펴보세요.
- 리팩토링을 통한 스토어 구조 개선: 스토어 구조를 어떻게 개선할 수 있을지에 대한 예시입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
회원가입 구현 (구현 후 최종 화면 출력 X)
0
64
2
(6.11) 회원가입시 프로필 정보 자동 생성하기 Q. 호출 순서 문의
0
56
1
명시적 타입 선언(콜론 타입 선언)과 as 타입 단언 차이
0
55
2
useMutation 적용 후 새로운 글 등록시 content가 안보여요
0
69
2
6.8 zustand 세션 질문입니다.
0
109
2
next.js 강의에서도 리액트 라이브러리들을 다뤄주시나요?
0
92
2
shadcn에서 radix ui와 base ui 차이는 뭔가요?
1
403
2
updateTodo 함수 생성시 화살표 함수 사용 안하는 이유
0
84
2
4.11 바로 투두 삭제가 안됨 질문
0
102
3
매개변수 updatedTodo 관련 질문
0
79
3
인증 정보가 만료되었을 때 라우트 가드 처리가 궁금합니다!
0
91
2
supabase를 사용하지 않을 경우 세션 데이터의 변경을 감지하고 스토어에 보관하는 방법이 궁금합니다!
0
85
2
4.6 id를 string으로 변경시 오류
0
74
2
리액트 타입스크립트 관련 질문있습니다.
0
71
1
소셜 로그인 구현하기 관련하여 질문이 있습니다!
0
108
2
ui 파일 질문드립니다.
0
90
1
tanstack query devtools에서 질문있습니다!
0
75
2
댓글 삭제 시 isPending 질문
0
72
2
두번째 예외상황에 대해 질문있습니다!
0
69
1
리액트 쿼리 질문입니다
1
83
2
개발자도구에서 components 가 안보입니다.
0
108
3
state 관리에 대한 정리
0
88
3
[(2.4) Shadcn/ui를 소개합니다] 강의 Shadcn 세팅 관련 질문 있습니다.
0
210
3
like 테이블에서 왜 create_at이 필요한지 궁금합니다.
0
87
1





