Episode 2 — React Frontend Architecture NextJS / 2.12 — Server State and API Integration

2.12.d — TanStack Query: smart caching, refetching, and useQuery

<< 2.12 Overview


Learning outcomes

  1. Wrap the app in QueryClientProvider with a stable QueryClient.
  2. Write correct query keys and tune staleTime / gcTime intentionally.
  3. Use useQuery for reads with enabled flags and error boundaries where appropriate.

Setup

import { QueryClient, QueryClientProvider } from "@tanstack/react-query";

const queryClient = new QueryClient();

export function App() {
  return (
    <QueryClientProvider client={queryClient}>
      <Router />
    </QueryClientProvider>
  );
}

useQuery basics

import { useQuery } from "@tanstack/react-query";

async function fetchPost(id: string) {
  const res = await fetch(`/api/posts/${id}`);
  if (!res.ok) throw new Error("Failed");
  return res.json();
}

export function Post({ id }: { id: string }) {
  const q = useQuery({ queryKey: ["post", id], queryFn: () => fetchPost(id) });

  if (q.isPending) return "Loading…";
  if (q.isError) return `Error: ${q.error.message}`;
  return <h1>{q.data.title}</h1>;
}

Caching & refetching (mental model)

  • staleTime: how long data is considered fresh enough not to refetch on mount by default behavior (tune per domain).
  • gcTime (formerly cacheTime): how long inactive cache entries stay in memory after last observer unmounts.

Query keys

Treat keys like primary keys for client cache entries: include every input that logically changes the result (id, filters, locale).



Appendix — Scenario bank (basic → advanced)

Flashcard rhythm: symptom → cause → fix → phrase for interviews.

API3-001 — TanStack Query / useQuery #1

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 13 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-002 — TanStack Query / useQuery #2

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 26 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-003 — TanStack Query / useQuery #3

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 39 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-004 — TanStack Query / useQuery #4

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 52 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-005 — TanStack Query / useQuery #5

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 65 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-006 — TanStack Query / useQuery #6

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 78 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-007 — TanStack Query / useQuery #7

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 91 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-008 — TanStack Query / useQuery #8

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 104 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-009 — TanStack Query / useQuery #9

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 117 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-010 — TanStack Query / useQuery #10

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 130 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-011 — TanStack Query / useQuery #11

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 143 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-012 — TanStack Query / useQuery #12

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 156 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-013 — TanStack Query / useQuery #13

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 169 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-014 — TanStack Query / useQuery #14

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 182 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-015 — TanStack Query / useQuery #15

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 195 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-016 — TanStack Query / useQuery #16

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 8 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-017 — TanStack Query / useQuery #17

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 21 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-018 — TanStack Query / useQuery #18

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 34 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-019 — TanStack Query / useQuery #19

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 47 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-020 — TanStack Query / useQuery #20

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 60 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-021 — TanStack Query / useQuery #21

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 73 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-022 — TanStack Query / useQuery #22

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 86 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-023 — TanStack Query / useQuery #23

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 99 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-024 — TanStack Query / useQuery #24

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 112 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-025 — TanStack Query / useQuery #25

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 125 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-026 — TanStack Query / useQuery #26

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 138 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-027 — TanStack Query / useQuery #27

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 151 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-028 — TanStack Query / useQuery #28

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 164 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-029 — TanStack Query / useQuery #29

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 177 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-030 — TanStack Query / useQuery #30

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 190 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-031 — TanStack Query / useQuery #31

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 3 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-032 — TanStack Query / useQuery #32

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 16 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-033 — TanStack Query / useQuery #33

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 29 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-034 — TanStack Query / useQuery #34

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 42 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-035 — TanStack Query / useQuery #35

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 55 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-036 — TanStack Query / useQuery #36

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 68 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-037 — TanStack Query / useQuery #37

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 81 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-038 — TanStack Query / useQuery #38

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 94 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-039 — TanStack Query / useQuery #39

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 107 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-040 — TanStack Query / useQuery #40

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 120 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-041 — TanStack Query / useQuery #41

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 133 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-042 — TanStack Query / useQuery #42

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 146 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-043 — TanStack Query / useQuery #43

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 159 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-044 — TanStack Query / useQuery #44

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 172 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-045 — TanStack Query / useQuery #45

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 185 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-046 — TanStack Query / useQuery #46

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 198 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-047 — TanStack Query / useQuery #47

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 11 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-048 — TanStack Query / useQuery #48

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 24 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-049 — TanStack Query / useQuery #49

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 37 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-050 — TanStack Query / useQuery #50

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 50 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-051 — TanStack Query / useQuery #51

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 63 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-052 — TanStack Query / useQuery #52

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 76 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-053 — TanStack Query / useQuery #53

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 89 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-054 — TanStack Query / useQuery #54

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 102 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-055 — TanStack Query / useQuery #55

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 115 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-056 — TanStack Query / useQuery #56

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 128 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-057 — TanStack Query / useQuery #57

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 141 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-058 — TanStack Query / useQuery #58

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 154 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-059 — TanStack Query / useQuery #59

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 167 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-060 — TanStack Query / useQuery #60

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 180 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-061 — TanStack Query / useQuery #61

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 193 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-062 — TanStack Query / useQuery #62

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 6 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-063 — TanStack Query / useQuery #63

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 19 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-064 — TanStack Query / useQuery #64

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 32 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-065 — TanStack Query / useQuery #65

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 45 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-066 — TanStack Query / useQuery #66

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 58 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-067 — TanStack Query / useQuery #67

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 71 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-068 — TanStack Query / useQuery #68

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 84 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-069 — TanStack Query / useQuery #69

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 97 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-070 — TanStack Query / useQuery #70

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 110 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-071 — TanStack Query / useQuery #71

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 123 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-072 — TanStack Query / useQuery #72

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 136 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-073 — TanStack Query / useQuery #73

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 149 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-074 — TanStack Query / useQuery #74

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 162 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-075 — TanStack Query / useQuery #75

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 175 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-076 — TanStack Query / useQuery #76

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 188 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-077 — TanStack Query / useQuery #77

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 1 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-078 — TanStack Query / useQuery #78

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 14 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-079 — TanStack Query / useQuery #79

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 27 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-080 — TanStack Query / useQuery #80

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 40 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-081 — TanStack Query / useQuery #81

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 53 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-082 — TanStack Query / useQuery #82

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 66 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-083 — TanStack Query / useQuery #83

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 79 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-084 — TanStack Query / useQuery #84

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 92 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-085 — TanStack Query / useQuery #85

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 105 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-086 — TanStack Query / useQuery #86

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 118 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-087 — TanStack Query / useQuery #87

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 131 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-088 — TanStack Query / useQuery #88

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 144 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-089 — TanStack Query / useQuery #89

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 157 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-090 — TanStack Query / useQuery #90

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 170 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-091 — TanStack Query / useQuery #91

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 183 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-092 — TanStack Query / useQuery #92

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 196 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-093 — TanStack Query / useQuery #93

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 9 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-094 — TanStack Query / useQuery #94

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 22 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-095 — TanStack Query / useQuery #95

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 35 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-096 — TanStack Query / useQuery #96

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 48 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-097 — TanStack Query / useQuery #97

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 61 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-098 — TanStack Query / useQuery #98

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 74 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-099 — TanStack Query / useQuery #99

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 87 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-100 — TanStack Query / useQuery #100

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 100 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-101 — TanStack Query / useQuery #101

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 113 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-102 — TanStack Query / useQuery #102

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 126 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-103 — TanStack Query / useQuery #103

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 139 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-104 — TanStack Query / useQuery #104

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 152 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-105 — TanStack Query / useQuery #105

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 165 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-106 — TanStack Query / useQuery #106

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 178 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-107 — TanStack Query / useQuery #107

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 191 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-108 — TanStack Query / useQuery #108

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 4 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-109 — TanStack Query / useQuery #109

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 17 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-110 — TanStack Query / useQuery #110

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 30 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-111 — TanStack Query / useQuery #111

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 43 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-112 — TanStack Query / useQuery #112

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 56 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-113 — TanStack Query / useQuery #113

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 69 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-114 — TanStack Query / useQuery #114

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 82 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-115 — TanStack Query / useQuery #115

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 95 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-116 — TanStack Query / useQuery #116

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 108 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-117 — TanStack Query / useQuery #117

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 121 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-118 — TanStack Query / useQuery #118

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 134 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-119 — TanStack Query / useQuery #119

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 147 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-120 — TanStack Query / useQuery #120

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 160 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-121 — TanStack Query / useQuery #121

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 173 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-122 — TanStack Query / useQuery #122

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 186 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-123 — TanStack Query / useQuery #123

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 199 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-124 — TanStack Query / useQuery #124

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 12 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-125 — TanStack Query / useQuery #125

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 25 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-126 — TanStack Query / useQuery #126

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 38 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-127 — TanStack Query / useQuery #127

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 51 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-128 — TanStack Query / useQuery #128

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 64 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-129 — TanStack Query / useQuery #129

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 77 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-130 — TanStack Query / useQuery #130

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 90 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-131 — TanStack Query / useQuery #131

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 103 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-132 — TanStack Query / useQuery #132

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 116 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-133 — TanStack Query / useQuery #133

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 129 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-134 — TanStack Query / useQuery #134

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 142 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-135 — TanStack Query / useQuery #135

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 155 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-136 — TanStack Query / useQuery #136

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 168 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-137 — TanStack Query / useQuery #137

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 181 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-138 — TanStack Query / useQuery #138

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 194 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-139 — TanStack Query / useQuery #139

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 7 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-140 — TanStack Query / useQuery #140

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 20 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-141 — TanStack Query / useQuery #141

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 33 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-142 — TanStack Query / useQuery #142

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 46 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-143 — TanStack Query / useQuery #143

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 59 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-144 — TanStack Query / useQuery #144

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 72 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-145 — TanStack Query / useQuery #145

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 85 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-146 — TanStack Query / useQuery #146

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 98 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-147 — TanStack Query / useQuery #147

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 111 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-148 — TanStack Query / useQuery #148

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 124 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-149 — TanStack Query / useQuery #149

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 137 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-150 — TanStack Query / useQuery #150

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 150 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-151 — TanStack Query / useQuery #151

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 163 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-152 — TanStack Query / useQuery #152

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 176 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-153 — TanStack Query / useQuery #153

  • Level: Intermediate
  • Symptom: stale UI or spinner stuck after 189 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: enabled flag wrong causing fetch before auth token exists.
  • Primary remediation: Gate with enabled: !!token or route loader patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-154 — TanStack Query / useQuery #154

  • Level: Intermediate+
  • Symptom: stale UI or spinner stuck after 2 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: gcTime too low evicting cache users expect when navigating back.
  • Primary remediation: Return primitives or memoize derived selections.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-155 — TanStack Query / useQuery #155

  • Level: Advanced
  • Symptom: stale UI or spinner stuck after 15 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: staleTime=0 everywhere causing refetch storms on focus.
  • Primary remediation: Stagger prefetch or use HTTP caching headers in tandem.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-156 — TanStack Query / useQuery #156

  • Level: Advanced+
  • Symptom: stale UI or spinner stuck after 28 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Query keys omit parameters causing cache collisions between users or pages.
  • Primary remediation: Keys are tuples including all logical inputs: ['user', id] patterns.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-157 — TanStack Query / useQuery #157

  • Level: Beginner
  • Symptom: stale UI or spinner stuck after 41 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: Prefetch without coordination duplicates thundering herd.
  • Primary remediation: Tune staleTime per data volatility; measure refetch counts.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

API3-158 — TanStack Query / useQuery #158

  • Level: Beginner+
  • Symptom: stale UI or spinner stuck after 54 ms of navigation.
  • Integration smell: server errors surfaced as blank screen without recovery path.
  • Root cause class: select returns unstable object defeating memoization.
  • Primary remediation: Raise gcTime for list-detail navigation patterns when appropriate.
  • Verify: Network tab + React Query Devtools (if used) + user retry path.
  • Interview one-liner: Query keys are the database primary keys of your client cache.

<< 2.12 Overview