React

컴포넌트 하나로 수정,추가 모달 만들기

킹미넴 2023. 10. 4. 15:40

내가 필요한 모달은
1. 상세정보로 입장해서 수정 가능한 부분을 수정하고 저장하기
2. 추가 버튼을 누르면 비어있는 부분을 모두 채워서 저장하기
이렇게 두가지였다

한 페이지에서 들어가는것은 물론, CSS가 100% 동일했다.

상세정보의 가짓수가 10가지씩이나 되면 따로 만들었을것도 같지만
수정을 요하는 정보가 많아봤자 2,3개였기 때문에 하나로 이용하기로 했다.

1. 컴포넌트 제작하고 틀 만들기

  • 이건 당연히 둘이 똑같은 틀을 공유한다

2. props로 추가 or 수정을 구별할 값을 넘긴다

  • 나같은 경우엔 data의 id 값이었다.
<DataModal modalId={modalId} />

3. 받아온 id값을 이용하여 나머지를 구성한다.

// 헤더 부분
<h3>{modalId === null ? "정보추가" : "정보상세"}</h3>

4. +)submit 하는 로직에서 받아온 id값에 따라 새 정보를 post 할지, 기존 정보를 update할지 각각 다른 logic 사용하기

 

처음 입사했을땐 state, props에 대해 어렵다고 느껴져서 공부에 손도 가지 않고... 활용하는데 애를 먹었었는데

계속 부딪히고 이들을 좀 더 유연하게 사용하니 좀 더 뿌듯해지는거같다.

댓글수0