Какие знаешь composables для работы с API

«Какие знаешь composables для работы с API» — вопрос из категории Vue, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Vue 3 composables — это функции, использующие Composition API для инкапсуляции логики. Для работы с API популярны:

  1. useFetch — обертка над fetch с состоянием загрузки, ошибки и данными:
export function useFetch(url) {
  const data = ref(null);
  const error = ref(null);
  const isLoading = ref(false);

  const execute = async () => {
    isLoading.value = true;
    try {
      const res = await fetch(url);
      data.value = await res.json();
    } catch (err) {
      error.value = err;
    } finally {
      isLoading.value = false;
    }
  };

  return { data, error, isLoading, execute };
}
  1. useAxios — аналогичный хук для Axios
  2. useSWR — для кэширования и повторных запросов
  3. useQuery (из Vue Query) — для сложных кэш-стратегий

Ключевые преимущества: переиспользуемость, изоляция состояния, композиция логики. Можно добавлять abort-контроллеры, retry-логику и т.д.