MCPcopy Create free account
hub / github.com/TanStack/query / Projects

Function Projects

examples/react/suspense/src/components/Projects.tsx:7–42  ·  view source on GitHub ↗
({
  setActiveProject,
}: {
  setActiveProject: React.Dispatch<React.SetStateAction<string | null>>
})

Source from the content-addressed store, hash-verified

5import Spinner from './Spinner'
6
7export default function Projects({
8 setActiveProject,
9}: {
10 setActiveProject: React.Dispatch<React.SetStateAction<string | null>>
11}) {
12 const queryClient = useQueryClient()
13 const { data, isFetching } = useSuspenseQuery({
14 queryKey: ['projects'],
15 queryFn: fetchProjects,
16 })
17
18 return (
19 <div>
20 <h1>TanStack Repositories {isFetching ? <Spinner /> : null}</h1>
21 {data.map((project) => (
22 <p key={project.full_name}>
23 <Button
24 onClick={() => {
25 // Prefetch the project query
26 queryClient
27 .query({
28 queryKey: ['project', project.full_name],
29 queryFn: () => fetchProject(project.full_name),
30 })
31 .catch(noop)
32 setActiveProject(project.full_name)
33 }}
34 >
35 Load
36 </Button>{' '}
37 {project.name}
38 </p>
39 ))}
40 </div>
41 )
42}

Callers

nothing calls this directly

Calls 4

useQueryClientFunction · 0.90
useSuspenseQueryFunction · 0.90
fetchProjectFunction · 0.90
queryMethod · 0.45

Tested by

no test coverage detected