Composables

useLazySanctumFetch

How to use useLazySanctumFetch to fetch data from Laravel API

Usage

Besides useSanctumClient you can directly send a request by using a module-specific version of fetch composable - useLazySanctumFetch.

This composable implements an API-specific useLazyFetch, so you can check more details here.

Composable accepts 2 arguments:

  • url: target endpoint to call (type: MaybeRefOrGetter<string>)
  • options: fetch options for client (type: UseFetchOptions<T>)
const { data, status, error, refresh } = await useLazySanctumFetch("/api/users")

// or

const { data, status, error, refresh } = await useLazySanctumFetch(
  "/api/users",
  {
    method: "GET",
    query: { page: 1 },
    default() {
      return {
        data: [],
        meta: {
          total: 0,
          per_page: 0,
        },
      }
    },
  },
)

You can also use type casting to work with the response as an interface:

interface MyResponse {
  name: string
}

const { data } = await useLazySanctumFetch<MyResponse>("/api/endpoint")

const name = data.value.name // augmented by MyResponse interface