결정 01
거래처 선택은 화면마다 두지 않고 전역 상태 하나로 공유한다
- 문제
- 거래처와 고객사를 검색 조건으로 쓰는 화면이 여러 개입니다. 화면마다 폼에 거래처 값을 따로 들고 있으면 화면을 옮길 때마다 다시 골라야 하고, 두 화면의 값이 서로 다를 수도 있습니다.
- 선택
- 거래처와 고객사 선택값을 Redux 슬라이스 하나에 두고, 선택 모달과 입력 필드를 공용 컴포넌트로 만들었습니다. 폼에는 거래처 필드를 만들지 않고 스토어 값을 기준으로 삼았습니다. 거래처를 바꾸면 고객사 선택과 화면에 남아 있던 이전 조회 결과가 지워지고, 나머지 검색 조건은 그대로 남습니다. 거래처 선택이 필수인 화면과 '전체'를 허용하는 화면은 타입을 둘로 나눴습니다.
- 결과
- 거래처를 한 번 고르면 같은 필터를 쓰는 모든 화면에 바로 반영됩니다. 새로고침하면 선택이 초기화되는 메모리 상태라서 그 점은 한계로 남아 있고, 사용법과 함께 문서에 적어 뒀습니다.