react query
과거 저에게 상태관리는 redux-toolkit, zustand 등 client단의 상태관리가 전부였습니다.
입사 후, server단 상태관리인 react query를 알게 되었고 신세계를 경험했죠.
한동안 그 맛에 취해있었습니다.
그러다 최근 새 프로젝트를 하면서 제 무지함에 경종을 울리는 깨달음을 얻었는데,
이 부분에 대해 몇 자 적어보려 합니다.
(대단하지는 않지만 놓치지 말아야 할 이야기입니다)
리액트 쿼리의 첫인상은 참 멋진 친구구나 였습니다.
상태관리에서 필요한 대부분은 서버와 교류하는 데이터 관리였고,
이 부분을 과한 보일러 플레이트 없이 필요한 기능과 함께 관리 할 수 있었으니까요.
hook과 함께 사용한다면 더욱 깔끔하게 관리할 수 있었습니다.
그래서 아주 열심히 사용했습니다.
그러면서 자연스럽게 client단 상태관리 툴을 멀리하게 되었죠.
가벼운 구현은 리액트 쿼리만으로 문제가 없었습니다.
꼬리에 꼬리를 무는 카테고리 리스트를 만드는 업무를 만나기 전까지 말이에요.
저는 정말 만능이라는 게 존재하는 것 처럼 다른 상태관리에는 눈길도 주지 않았습니다.
그러나 리액트 쿼리 귀신이라도 붙은 듯, 집착과 광기로 코드를 짜고,
그 코드는 까마득하게 멀어져갔습니다. 그리고 제 마음도 타들어 갔습니다.
그러다 문뜩 그 암흑 속에서 하나의 진리를 깨달았습니다.
모든 기술은 장단점을 가지고 있다.
단점을 안고 하나만 꼭 써야 할 이유는 없다.
그때 되어서야 사수분의 코드가 보이기 시작했습니다.
적절한 곳에 client단 상태관리 툴과 react query를 적용한 모습이 꽤 충격이었죠.
멱살 잡혀 끌려간 제 코드가 불쌍하더라구요... ㅜㅠ
사실 참 간단한 논리입니다.
필요한 곳에 적절한 도구를 사용한다는 것.
이 간단한 걸 체득하는 데 꽤 오래 걸렸네요.
그러나 이 경험은 저에게 큰 울림을 주었고, 좋은 징조라 생각합니다.
나뭇가지 보는 것도 어려워 하던 제가 이제 나무 하나 정도는 볼 수 있게 되었거든요.
이렇게 성장하다 보면 언젠가 저도 숲을 보는 개발자가 될 수 있을 것이라 생각합니다