@Analka

Как создать свой useFetch?

Всем привет! Использую vue3 + vite

Как во Vue можно создать свой useFetch, чтобы можно было вставлять как fetch так и axios

в NuxtJs это реализовано вот так

import { VueConstructor } from 'vue'

declare type ComponentInstance = InstanceType<VueConstructor>

interface Fetch {
  (context: ComponentInstance): void | Promise<void>
}

    declare const useFetch: (callback: Fetch) => {
      fetch: () => void
      fetchState: {
        error: Error | null
        pending: boolean
        timestamp: number
      }
      $fetch: () => void
      $fetchState: {
        error: Error | null
        pending: boolean
        timestamp: number
      }
    }

при использовании

useFetch(async () => {
      await $axios.$get(`/api/v1/admin/tariffs`).then((response: any) => {
        tariffs.value = response.data
      })
    })
  • Вопрос задан
  • 279 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
useFetch используется в nuxt для косистентной работы с состоянием при SSR.
Если ты не используешь SSR он тебе нафиг не нужен. И да, как уже заметили, этот хук не имеет никакого отношения к axios или fetch как таковому.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы