local state
로 변경하고 나서, 좋아요와 무한스크롤 등의 기능에 영향을 받는 게시글 리스트 데이터들을 전역 상태로 변경하기로 결정하면서, 전역상태 라이브러리를 새롭게 찾아보게 되었다. React-query
와 Recoil
을 찾아보았는데, 일반적으로 서버스테이트는 리액트 쿼리를 이용하는게 좋다는 의견들이 많기는 했지만, 기존에 판단없이 무조건 전역으로 상태를 빼면서 라이브러리에 의존적인 코딩을 해왔던 것 같아서, 보다 리액트스럽게 사용할 수 있는 Recoil
의 Atom
단위만 사용해보는 것으로 고려했다. useState()
로 상태를 담아둔 상태에서 useState 대신 atom
을 임포트 하여 useRecoilState()
로 변경해주는 방식으로 Recoil을 도입했다.react-query
를 사용해서 서버 스테이트를 관리하는 편이 효율적일 수도 있지만, 전역 스테이트를 모두 지역 스테이트로 분리해놓고 다시 라이브러리를 도입하는 상황이었기 때문에 Recoil
을 도입하게 되었다. React-vis
를 찾아보았지만, 기존 리차트에서 작성해놓은 데이터 구조와 많이 달라져야해서 Chart. js
로 도입하게 되었다. SelectGu.jsx
, SelectInfo.jsx
2개의 컴포넌트로 따로 이용하고, 반복되는 버튼 UI를 복사 붙여넣기해서 나열한 형태의 지저분한 컴포넌트를 정리하기 위해 [구, 정보용링크, 커뮤니티용링크] 형태로 배열 데이터를 선언하고, map을 돌려 코드 재사용성을 높였다.