Skip to content

Latest commit

 

History

History
79 lines (62 loc) · 2.43 KB

use-suspense-query.md

File metadata and controls

79 lines (62 loc) · 2.43 KB
title
useSuspenseQuery

{{ $frontmatter.title }}

The useSuspenseQuery method allows you to use the original useSuspenseQuery.

  • The result is the same as the original function.
  • The functionKey is [method, path, params].
  • data and error are fully typed.
  • You can pass queries options as fourth parameter.

::: tip You can find more information about useSuspenseQuery on the @tanstack/react-query documentation. :::

Example

::: code-group

import { ErrorBoundary } from "react-error-boundary";
import { $api } from "./api";

const MyComponent = () => {
  const { data } = $api.useSuspenseQuery("get", "/users/{user_id}", {
    params: {
      path: { user_id: 5 },
    },
  });

  return <div>{data.firstname}</div>;
};

export const App = () => {
  return (
    <ErrorBoundary fallbackRender={({ error }) => `Error: ${error.message}`}>
      <MyComponent />
    </ErrorBoundary>
  );
};
import createFetchClient from "openapi-fetch";
import createClient from "openapi-react-query";
import type { paths } from "./my-openapi-3-schema"; // generated by openapi-typescript

const fetchClient = createFetchClient<paths>({
  baseUrl: "https://myapi.dev/v1/",
});
export const $api = createClient(fetchClient);

:::

Api

const query = $api.useSuspenseQuery(method, path, options, queryOptions);

Arguments

  • method (required)
    • The HTTP method to use for the request.
    • The method is used as key. See Query Keys for more information.
  • path (required)
    • The pathname to use for the request.
    • Must be an available path for the given method in your schema.
    • The pathname is used as key. See Query Keys for more information.
  • options
    • The fetch options to use for the request.
    • Only required if the OpenApi schema requires parameters.
    • The options params are used as key. See Query Keys for more information.
  • queryOptions