Ensure React hooks and query integrations remain correct across renders, SSR/hydration, and subscriptions.

Rules: 1) Keep QueryClient stable in React components

2) Don’t break subscription/snapshot invariants

3) Hydration-safe first render

4) Use supported disabling patterns

Example (stable QueryClient + latest filters ref pattern):

import React from 'react'
import { QueryClient } from '@tanstack/react-query'

export function App() {
  const [queryClient] = React.useState(() => new QueryClient())

  // ...useQuery hooks using queryClient
  return null
}

And for “latest value” without render-time ref reads:

const [state, setState] = React.useState(() => client.isFetching(initialFilters))
const filtersRef = React.useRef(filters)
React.useEffect(() => {
  filtersRef.current = filters
}, [filters])
// Ensure the snapshot/getter reads in the right lifecycle, not during render-time ref reads.