inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

(7.2) 포스트 추가 기능 구현하기

모달 store 관련 질문입니다.

해결된 질문

69

cupshop123

작성한 질문수 2

0

안녕하세요, 이정환 강사님.

강의를 모두 수강하고 혼자 프로젝트를 진행하고 있는 수강생입니다.

 

모달 store를 구현하던 중 의문점이 생겨 질문합니다.

만약 postEditorModal에 더불어 다른 모달 데이터를 관리하는 스토어(예를 들어 projectEditorModal)을 만들고 싶으면, store 파일을 두 개로 나누어 만드는 것이 맞을까요?

 

처음에는 똑같은 state와 actions 값을 담는 store니 하나의 파일로 관리해서 만들어도 되지 않을까 생각했는데, devtools 이름을 나누어 관리하는 것이 버그 관리나 유지 보수 관점에서 더 유리할 것 같아서요.

 

감사합니다.

react typescript react-query supabase zustand

답변 2

0

이정환 Winterlood

안녕하세요 cupshop123님 이정환입니다.

네 맞습니다. 현재 구조상으로는 새로운 모달을 관리하는 Store가 필요하다면 새로운 파일로 생성하여 관리하는게 좋을 것 같습니다.

그러나 물론 말씀하신대로 모든 모달들을 하나의 Store에서 관리하는 방안도 좋은 방법이 될 수 있습니다. 다만 이렇게 작업할 경우 관리해야 할 데이터의 복잡도가 증가할 수 있고, 같은 이유로 액션 함수들의 타입 정의도 복잡해 질 수 있어 이 점은 고려해봐야 할 부분인 것 같아요

0

cupshop123

답변 감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. cupshop123님.

모달 store와 관련된 질문을 주셨군요. 프로젝트를 진행하면서 스토어 관리를 어떻게 해야 할지 고민이 많으실 것 같습니다.

모달과 같은 UI 상태를 관리할 때, 각 모달이 갖는 상태와 행동에 따라 스토어를 나누는 것이 좋은 방향이 될 수 있습니다. 특히, DevTools에서 각각 구분되어 관리되면 디버깅이 훨씬 수월해집니다.

스토어 분리의 장점:

  1. 유지보수 용이성: 서로 다른 모달이 독립적인 역할과 로직을 가질 경우, 관련 코드를 별도로 관리하는 것이 구조적으로 명확하고 유지보수에 유리합니다.
  2. 디버깅의 편리함: DevTools에서 각각의 모달 상태를 독립적으로 확인하고 조작할 수 있으며, 이는 디버깅 과정에서 큰 도움이 됩니다.
  3. 확장 용이성: 새로운 모달을 추가하거나 기존 모달을 고도화할 때, 개별 스토어로 관리하고 있으면 변경이 다른 부분에 미치는 영향을 최소화할 수 있습니다.

스토어 통합의 경우:

  • 만약 모달들이 동일한 기능과 구조를 가지며, 상태가 크게 변하지 않는다면 하나의 스토어로 관리할 수도 있습니다. 이 경우 코드의 간결함이 장점이 될 수 있습니다. 하지만 후에 모달마다 다른 로직이 추가될 가능성이 있다면, 분리해 두는 것이 더욱 좋습니다.

추가 참고 자료

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

useMutation 적용 후 새로운 글 등록시 content가 안보여요

0

32

2

6.8 zustand 세션 질문입니다.

0

74

2

next.js 강의에서도 리액트 라이브러리들을 다뤄주시나요?

0

60

2

shadcn에서 radix ui와 base ui 차이는 뭔가요?

0

215

2

updateTodo 함수 생성시 화살표 함수 사용 안하는 이유

0

63

2

4.11 바로 투두 삭제가 안됨 질문

0

75

3

매개변수 updatedTodo 관련 질문

0

57

3

인증 정보가 만료되었을 때 라우트 가드 처리가 궁금합니다!

0

73

2

supabase를 사용하지 않을 경우 세션 데이터의 변경을 감지하고 스토어에 보관하는 방법이 궁금합니다!

0

60

2

4.6 id를 string으로 변경시 오류

0

55

2

리액트 타입스크립트 관련 질문있습니다.

0

54

1

소셜 로그인 구현하기 관련하여 질문이 있습니다!

0

88

2

ui 파일 질문드립니다.

0

65

1

tanstack query devtools에서 질문있습니다!

0

58

2

댓글 삭제 시 isPending 질문

0

56

2

두번째 예외상황에 대해 질문있습니다!

0

56

1

리액트 쿼리 질문입니다

0

57

2

개발자도구에서 components 가 안보입니다.

0

81

3

state 관리에 대한 정리

0

70

3

[(2.4) Shadcn/ui를 소개합니다] 강의 Shadcn 세팅 관련 질문 있습니다.

0

150

3

like 테이블에서 왜 create_at이 필요한지 궁금합니다.

0

67

1

삭제가 바로 안되네요ㅠ

0

56

2

access 토큰은 꼭 소셜서버로부터 받아서 사용해야만하나요?!

0

72

2

전역 모달이 여러 개일 경우 모달 프로바이더는 몇 개가 필요한가요?

0

56

1