@shopify/shop-minis-react
Version:
React component library for Shopify Shop Minis with Tailwind CSS v4 support (source-only, requires TypeScript)
35 lines (29 loc) • 818 B
text/typescript
import {useShopActionQuery} from '../../internal/reactQuery'
import {useShopActions} from '../../internal/useShopActions'
import {DataHookOptionsBase, DataHookReturnsBase, Product} from '../../types'
export interface UseProductParams extends DataHookOptionsBase {
/**
* The product ID to fetch.
*/
id: string
}
interface UseProductReturns extends DataHookReturnsBase {
/**
* The product returned from the query.
*/
product: Product | null
}
export const useProduct = (params: UseProductParams): UseProductReturns => {
const {getProduct} = useShopActions()
const {id, skip = false, ...restParams} = params
const {data, ...rest} = useShopActionQuery(
['product', id, restParams],
getProduct,
{id, ...restParams},
{skip}
)
return {
...rest,
product: data,
}
}