인프런 커뮤니티 질문&답변
포스트 리스트를 불러오는 hook에 대하여 질문드립니다!
해결된 질문
작성
·
21
0
안녕하세요!
타입 스크립트부터 현재 강의까지 너무 유용하게 잘 듣고 있는 수강생입니다! 9-1 강의를 수강하다가 문득 궁금함이 생겨서 질문 남겨 봅니다.
A 유저와 B 유저가 있다고 가정했을 때
A 유저가 프로필 상세 화면을 보고 있는 상태에서 B 유저가 새로운 포스트를 올렸는데,
이후에 A 유저가 메인 리스트 화면으로 이동하면 B 유저가 올린 새로운 포스트가 로드되지 않는 것으로 보입니다! (새로 고침하면 당연히 정상적으로 보이고요)
제가 코드 작성을 하면서 놓친 부분이 있어 이러한 현상이 발생하는 것인지,
아니면 이후 강의에서 해당 부분이 수정되는 것인지 여쭤보고 싶습니다.
늘 좋은 강의 감사합니다! 🙂 좋은 하루 보내세요~!
답변 2
0
안녕하세요 백지수님 이정환입니다.
말씀해주신 현상은 버그라기보다는, 캐시를 강하게 가져가는 전략(예: staleTime: Infinity)에서 자연스럽게 발생하는 트레이드오프에 가깝습니다.
무한 스크롤 리스트의 경우 최신화를 자주 수행하면, 리페칭이 발생하면서 리스트가 초기화되거나, 심한 경우 이미 불러온 여러 페이지를 다시 불러오게 되어 성능과 UX가 오히려 나빠질 수 있습니다. 반대로 캐시를 유지하면 지금처럼 다른 사용자의 새 글이 즉시 반영되지는 않는 대신, 사용자가 보고 있던 리스트 상태를 안정적으로 유지할 수 있다는 장점이 있습니다. 강의에서는 인프라에 많은 비용을 투자하지 않는(Supabase 무료 버전 사용 등) 등의 이유로 최신성보다는 성능과 안정성에 조금 더 무게를 두는 방향으로 구현했습니다.
만약 이런 방식이 서비스 성격과 맞지 않는다고 느끼신다면, UX로 보완하는 방법도 충분히 가능합니다. 예를 들어 피드 상단이나 하단에 “새 게시글 불러오기” 버튼을 두어 사용자가 원할 때만 최신 데이터를 다시 불러오게 하거나, 캐시 전략을 조정해 특정 시점에만 invalidate/refetch가 일어나도록 설계하는 방식도 고려해볼 수 있습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 백지수님께서 겪고 있는 문제는 주로 클라이언트 사이드 렌더링(CSR)에서 종종 발생하는 문제 중 하나입니다. 이는 상태 관리 및 데이터 페칭 전략과 관련이 있을 수 있습니다.
설명 및 해결 방법
상태 관리:
- 상태 관리 라이브러리를 사용하고 계신다면, 클라이언트 사이드에서 메인 리스트 화면으로 돌아올 때 상태가 갱신되지 않는 것이 문제일 수 있습니다.
- React Query나 SWR 같은 라이브러리를 사용하시면 데이터의 캐싱 및 상태 갱신을 손쉽게 처리할 수 있습니다. 이를 통해 A 유저가 메인 리스트로 돌아올 때 자동으로 데이터를 다시 가져오게 설정할 수 있습니다.
- 상태 관리 라이브러리를 사용하고 계신다면, 클라이언트 사이드에서 메인 리스트 화면으로 돌아올 때 상태가 갱신되지 않는 것이 문제일 수 있습니다.
데이터 페칭 트리거:
- 일반적으로 사용자가 페이지를 전환할 때마다 데이터를 다시 가져오도록 처리하는 것이 좋습니다. 페이지 이동 시 데이터를 갱신하거나 특정 시간이 경과하면 자동으로 데이터를 갱신하도록 설정할 수 있습니다.
- 일반적으로 사용자가 페이지를 전환할 때마다 데이터를 다시 가져오도록 처리하는 것이 좋습니다. 페이지 이동 시 데이터를 갱신하거나 특정 시간이 경과하면 자동으로 데이터를 갱신하도록 설정할 수 있습니다.
유사 사례 및 해결 방법
Zustand 상태 리셋 문제 해결 사례: Zustand를 활용하여 클라이언트 사이드에서 최신 상태를 반영하는 방법에 대해 논의합니다.
React Query와 Zustand를 활용한 상태 관리: 상태 관리 및 데이터 페칭의 효율적인 접근 방식에 대해 설명하고 있습니다.
이 문제는 개발 중에 자주 나타날 수 있는 문제이며, 데이터 페칭 및 렌더링 전략을 조정하여 해결할 수 있습니다. 필요한 경우 추가적인 재질문도 환영합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





답변 감사합니다! 🙂 자세하게 설명해주신 덕에 궁금했던 부분이 해결되었어요! 답변해 주신 내용을 읽고 생각해 보니 다른 SNS도 최상단에서 한 번 더 스크롤해서 새로고침을 한다든지 하는 방식으로 최신 데이터를 불러오는 경우가 많았던 것 같네요. 마지막 강의까지 열심히 달려보겠습니다 ㅎㅎ