Skip to content

Latest commit

 

History

History
53 lines (44 loc) · 1.06 KB

File metadata and controls

53 lines (44 loc) · 1.06 KB
id default-query-function
title Default Query Function
ref docs/framework/react/guides/default-query-function.md
// Define a default query function that will receive the query key
const defaultQueryFn = async ({ queryKey }) => {
  const { data } = await axios.get(
    `https://jsonplaceholder.typicode.com${queryKey[0]}`,
  )
  return data
}

// provide the default query function to your app with defaultOptions
const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      queryFn: defaultQueryFn,
    },
  },
})

function App() {
  return (
    <QueryClientProvider client={queryClient}>
      <YourApp />
    </QueryClientProvider>
  )
}

// All you have to do now is pass a key!
function Posts() {
  const postsQuery = useQuery(() => ({ queryKey: ['/posts'] }))

  // ...
}

// You can even leave out the queryFn and just go straight into options
function Post(props) {
  const postQuery = useQuery(() => ({
    queryKey: [`/posts/${props.postId}`],
    enabled: !!props.postId,
  }))

  // ...
}