@shopify/shop-minis-react
Version:
React component library for Shopify Shop Minis with Tailwind CSS v4 support (source-only, requires TypeScript)
39 lines (31 loc) • 873 B
text/typescript
import {useMemo} from 'react'
import {useShopActions} from '../../internal/useShopActions'
import {useShopActionsDataFetching} from '../../internal/useShopActionsDataFetching'
import {DataHookOptionsBase, DataHookReturnsBase, Shop} from '../../types'
export interface UseShopParams extends DataHookOptionsBase {
/**
* The shop ID to fetch.
*/
id: string
}
interface UseShopReturns extends DataHookReturnsBase {
/**
* The shop returned from the query.
*/
shop: Shop | null
}
export const useShop = (params: UseShopParams): UseShopReturns => {
const {getShop} = useShopActions()
const {skip = false, ...restParams} = params
const {data, ...rest} = useShopActionsDataFetching(getShop, restParams, {
skip,
hook: 'useShop',
})
const shop = useMemo(() => {
return data ?? null
}, [data])
return {
...rest,
shop,
}
}