[Recoil] Recoil 과연 괜찮을까?
이 글은 단지 프로젝트를 하면서 봤던 내용과 생각을 정리한 글입니다 : )
전문가는 아니기 때문에 오류가 있을 수 있고, 저 또한 확실하게 알고 있지 못한 상황이기도 합니다.
혹시, 더 알고 있는 내용이 있다면 코멘트 남겨주시면 감사하겠습니다 !!
이번 프로젝트는 기존에 안써봤던 다양한 기술 스택을 써보고 싶었다.
사실 이런 기준으로 선택하면 안될 것 같지만, 한번 써보자 싶었기에 공고에서 많이 보이는 유명한 기술 스택들을 써보고자 했다.
그렇게 선택한게
1) Next.js : CSR과 SSR을 제대로 경험해 보기
2) Recoil, React Query : 기존 Redux의 Boiler plate 단점을 극복하기 위한 기술 스택으로 많이 언급되고 많은 곳에서 사용됨.
3) TypeScript : JavaScript의 형변환, Type의 불명확 등의 단점을 극복할 수 있고 거의 필수임.
이런 기술 스택들이 었는데.... React Query를 적용하고 Recoil을 적용하기 위해 찾아보면서 보게 된 글이 하나 있었다.
Recoil, 이제는 떠나 보낼 시간이다
개요
medium.com
처음에 제목을 보곤 당황했다. 한창 Recoil이 핫하던 2023년에 머물러 있던 내 기술 스택이었기에 선택했는데, Recoil에 대한 단점이 언급되어 있는 글을 보게 되었으니....ㅎㅎ...
개발자들이 점점 Recoil을 이탈하고 있단 것이었는데....
위 글에서 언급하는 단점은
1) Recoil이 타 라이브러리에 비해 짧은 업데이트 주기를 가짐. -> Isuue에 대한 대응이 늦다.
2) Memory leak 문제 : 이전부터 꾸준히 메모리 누수에 대한 이슈가 있어왔고 특히나 ssr에서는 더 치명적이라 한다.
3) SSR에 대한 지원 : 2번의 이유 + useHydrate 같은 타 라이브러리에서 지원하는 기능을 미지원함.
4) 메인테이너가 페이스북에서 퇴사하게 됨.. -> 영향이 갈 진 확실치 않다.
위 글이 2023.12에 작성되었고, 최근에는 어떻게 되었는지 찾아보고 싶어서 여러방면으로 검색해봤지만, 최근에 논의된 커뮤니티 글은 찾을 수가 없었다.
다만, https://www.reddit.com/r/reactjs/comments/15tseap/is_recoil_still_actively_maintained_or_used_at/
From the reactjs community on Reddit
Explore this post and more from the reactjs community
www.reddit.com
위 커뮤니티에서 1년전 다뤄진 글에서 블로그 포스팅과 관련된 내용들만 가득할 뿐... 다시보니 레딧이넹ㅎ
에 나와있는 최근 업데이트도 2023.05.01이기 때문에 별로 신뢰가 가지 않기도 했다.
redux는 23.12.24임.
그래도 최근 업데이트(23.05.01)에 SSR에 관련된 내용이 있기도 하고
- Fix resolving suspense of async selectors used with SSR (#2073, #1960)
- Fix SSR with some versions of React DOM used with Next.JS 13 (#2082, #2086)
2022에 memory leak에 관련된 내용도 있긴 하다.
그래도 솔직히 판단을 잘 못하겠다.... '-`...
이런건 어떻게 알아봐야 할까...
이런 이유로 Nextjs를 사용하고 있는 우리 프로젝트...(SSR 기능은 거의 쓰지 못하고 있지만 ㅎ..) 에서 Recoil은 떠나보내게 되었다.... ㅂㅂ...
대안으로 zustand나 react Query 단일로도 state 관리에 사용되는 듯 하니 ( 캐시 ) 사용하지 않을까 생각한다.
Zustand에 관해 우연히 우와콘 관련 내용을 보게 됐는데 추천합니당
https://www.youtube.com/watch?v=nkXIpGjVxWU&t=12s