UNPKG

@shopify/shop-minis-react

Version:

React component library for Shopify Shop Minis with Tailwind CSS v4 support (source-only, requires TypeScript)

49 lines (41 loc) 1.12 kB
import {useMemo} from 'react' import {useShopActions} from '../../internal/useShopActions' import {useShopActionsPaginatedDataFetching} from '../../internal/useShopActionsPaginatedDataFetching' import { PaginatedDataHookOptionsBase, PaginatedDataHookReturnsBase, ProductVariant, } from '../../types' export interface UseProductVariantsParams extends PaginatedDataHookOptionsBase { /** * The product ID to fetch variants for. */ id: string } interface UseProductVariantsReturns extends PaginatedDataHookReturnsBase { /** * The product variants returned from the query. */ variants: ProductVariant[] | null } export const useProductVariants = ( params: UseProductVariantsParams ): UseProductVariantsReturns => { const {getProductVariants} = useShopActions() const {skip = false, ...restParams} = params const {data, ...rest} = useShopActionsPaginatedDataFetching( getProductVariants, restParams, { skip, hook: 'useProductVariants', } ) const variants = useMemo(() => { return data ?? null }, [data]) return { ...rest, variants, } }