본문으로 건너뛰기
asyncwaiter
PostsSeriesTagsAbout
EN

Tweaks

theme
accent palette
film grain
minimal mode
02 POSTS

Debugging 1

  • #react#state-management#tanstack-query

    ReactQuery의 staleTime: 0은 정말 0일까?

    prefetch한 데이터를 hydrate했는데도 dev 모드 30회 실행에서 요청이 60회 찍혔다. 원인을 staleTime 0으로 설명했던 지난 글의 결론은 틀렸다. React Query는 Suspense에서 staleTime을 최소 1,000ms로 올리고, 그 숫자는 React가 fallback 커밋 이후 reveal을 300ms throttle하기 때문에 나온 값이었다. 실험에서는 308ms, 608ms, 908ms 간격으로 노출됐다.

    2026-10-03·13분
  • ◆ 렌더링 경계 · 1편
    #react#nextjs#debugging

    렌더링 경계[1]: Server Functions cannot be called during initial render

    DataDog에 주 3,000건씩 쌓이던 에러를 추적했다. useSuspenseQuery가 커밋 전 렌더 단계에서 queryFn을 실행하고, 그 안에 Server Function이 들어 있던 것이 원인이었다. useQuery로 바꾸라는 조언 대신 use server 파일에서 읽기 함수를 분리해 에러를 0건으로 만들었지만, 같은 샌드박스에서 30회를 측정하자 요청은 60회가 나왔다. 서버와 브라우저의 queryClient가 다르기 때문이었다.

    2026-10-01·25분
mailMail icongithub
asyncwaiter
•
© 2026
•
https://asyncwaiter.com