Skip to main content

useProductFilters

This hook fetches available product filters from Shopify for a given collection or search query. It supports live filter updates based on selected filter state.

Import

import { useProductFilters } from '@appmaker-xyz/shopify';

Basic Usage

// By collection ID
const { filters, isLoading, setSelectedFilters, getSingleFilter } = useProductFilters({
query: { collectionId: 'gid://shopify/Collection/123' },
});

// By collection handle
const { filters } = useProductFilters({
query: { collectionHandle: 'summer-collection' },
});

// By search query
const { filters } = useProductFilters({
query: { searchQuery: 'shoes' },
});

Parameters

ParameterTypeDescription
queryObjectQuery input. Must contain one of: collectionId, collectionHandle, or searchQuery.
preSelectedFiltersObject \| nullOptional pre-selected filters to initialize with.

Return Value

PropertyTypeDescription
filtersArrayArray of available Shopify product filters.
setSelectedFiltersFunctionUpdates the selected filters, triggering a refetch of available filters.
getSingleFilterFunctionReturns a single filter by key. Signature: getSingleFilter({ filterKey }).
isLoadingbooleanWhether the filter data is being fetched.
isErrorbooleanWhether the fetch failed.
isSuccessbooleanWhether the fetch succeeded.