개발자
안녕하세요, 현재 제가 검색 모달 창에서 텍스트를 입력하면 검색하는 작업을 하고 있습니다. 보통 useQuery 훅은 페이지 마다 데이터를 불러오는 경우 많이 사용하는 걸로 알고 있습니다. 제가 작업하는 검색 모달은 사용자가 검색 창을 누르면 검색 모달이 나와서 검색하는 기능이라 여기서도 React-Query에서 제공하는 useQuery를 쓰는지 궁금합니다!
답변 3
제가 볼땐 useQuery를 굳이 사용하지 않아도 되는 일로 보여집니다. 구현은 할 수 있겠지만요. react-query를 사용하는 목적을 생각해보면, 보통 캐싱 처리나 자주 변경되지 않는 값을 처리할 때 주로 사용됩니다. 다만 몇가지 상황에는 예외적으로 사용할 수 있습니다. 일례로 Dashboard 처럼, 사람의 터치가 없어도 몇초마다 갱신되는 데이터를 보여줄 때도 react-query는 유용하게 사용할 수 있습니다. (이 경우에도 너무 자주 refetch되지 않도록 주의해야 합니다.) 사람의 입력이 필요한 검색창을 구현하는 데에는 성격이 좀 맞지 않아보입니다. API를 get하는 fetch나 axios.get으로 구현해도 충분할 것 같습니다. 이렇듯 라이브러리를 사용하는 목적을 먼저 파악 후 기능을 구현한다면 효율적으로 구현할 수 있을 것입니다. 최신의 라이브러리를 많이 써보고 싶으시겠지만 그들은 적절히 사용할 수 있는 사용처가 전부 따로 있습니다. 예시를 많이 보고 적재적소에 활용할 수 있도록 생각을 하시면 좋겠습니다. 너무 과잉스펙이 되지 않도록 개발 방향을 잡는 것도 능력입니다. 즐거운 개발 되세요.
익명
작성자
2024년 12월 29일
답변 감사합니다! useQuery로 검색 기능을 구현하던 중 데이터 캐싱 문제 때문에 '굳이 이렇게까지 써야 하나?'라는 생각이 들었는데, 덕분에 많은 도움이 되었습니다! 감사합니다!
비단 페이징을 위해서 사용하는 것은 아닐텐데요. 가령 최근 검색 기록이라는 UI가 있다면 ,검색했던 데이터가 필요할 겁니다. 캐싱된 데이터가 있다면 유리하겠죠. 사이트 내 제품 혹은 브랜드 검색이라면 해당 검색 결과의 UI는 복합다잡할 겁니다. 이 경우에도 데이터를 캐싱하고 revalidate하거나 stale time을 조정하여 제어하는 것이 유리할 겁니다. 검색이나 조회 모두 데이터를 요청하는 행위이니, 그 데이터를 UI에서 어떻게 다루는지를 두고 사용 여부를 판단하는 것이 적절하겠지요.
익명
작성자
2024년 12월 31일
최근 검색을 보여주는 경우에는 필요할 수도 있겠군요! 답변 감사합니다!!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 12월 28일
네, React-Query의 useQuery는 데이터를 불러오는 모든 상황에 유용하게 사용할 수 있습니다. 페이지 데이터뿐만 아니라 검색 질의 등 여러 가지 상황에서도 적용 가능합니다. 검색 기능을 구현할 때 useQuery를 사용하면 다양한 장점이 있습니다. 예를 들어, 자동 캐싱, 백그라운드 업데이트, 스테일 시간 관리 등과 같은 특징으로 인해 작업이 간편해지고 코드가 효율적으로 작성됩니다. 따라서 사용자가 검색 창에 텍스트를 입력하면 해당 질의에 대한 응답을 받아와야 하는 경우에도 useQuery를 사용할 수 있습니다. 응답 데이터는 useQuery로부터 반환되는 객체 내부에 포함되어 있으며 이를 활용하여 UI를 업데이트 할 수 있기 때문입니다. 다만, 검색 요청이 너무 많이 발생하지 않도록 적절히 디바운스(Debounce)나 쓰로틀링(Throttling) 기법을 활용하는 것을 추천드립니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!