- 문제:
- 메인페이지에서 모임 목록을 지도상에 마커로 표시하는 기능이 일관적이지 않아 사용자가 사용하는데 불편을 겪을 것이라는 판단
- 원인
- 모임 목록을 서버로부터 다시 조회하는 케이스가 통일되지 않았음
- 유저가 지도를 움직이는 경우 해당 지역의 모임 목록을 다시 조회한다.
- 유저가 지역 필터를 적용하는 경우 해당지역의 모임 목록을 조회한다.
- 해결방안
- 각 필터 모달에서 선택한 항목을 관리하는 selectedItems와 유저가 최종적으로 적용하기 버튼을 눌렀을 때의 항목인 filters로 필터 관련 상태를 분리: 메인페이지에서는 filters에 의해서만 서버로부터 모임 목록을 재조회해 의도하지 않은 결과를 막을 수 있다.
- filters 상태 관리 :
- 전역 상태로 관리- 페이지 전환 시 상태를 유지할 수 있으나, 새로고침 또는 브라우저 창을 닫을 경우 상태가 초기화되는 문제가 발생해 별도의 조치 필요, 리덕스와 같은 별도 라이브러리 사용 시 관련 코드의 증가
- 로컬 스토리지로 관리- 위의 문제를 모두 해결 가능, 필터 상태의 경우 로컬스토리지에 저장해도 크게 문제되지 않는 데이터로 판단해, 로컬스토리지와 useState를 조합해 사용하는 방법으로 문제 해결