Buy Now Buttoncomponent
The component renders a button that adds an item to the cart and redirects the customer to checkout.
Must be a child of a component.
Anchor to propsProps
- Anchor to childrenchildrenReactNoderequired
Any ReactNode elements.
- Anchor to variantIdvariantIdstringrequired
The ID of the variant.
- AsType
Provide a React element or component to render as the underlying button. Note: for accessibility compliance, almost always you should use a
button
element, or a component that renders an underlying button.- Anchor to attributesattributes{ key: string; value: string; }[]
An array of cart line attributes that belong to the item being added to the cart.
- Ref<HTMLButtonElement>
A
ref
to the underlying button- Anchor to defaultOnClickdefaultOnClick(event?: MouseEvent<HTMLButtonElement, MouseEvent>) => boolean | void
A default
behavior
- Anchor to onClickonClick(event?: MouseEvent<HTMLButtonElement, MouseEvent>) => boolean | void
Click event handler. Default behaviour triggers unless prevented
- Anchor to quantityquantitynumber
The item quantity. Defaults to 1.
- Anchor to sellingPlanIdsellingPlanIdstring
The selling plan ID of the subscription variant
BuyNowButtonPropsForDocs
- as
Provide a React element or component to render as the underlying button. Note: for accessibility compliance, almost always you should use a `button` element, or a component that renders an underlying button.
AsType
- attributes
An array of cart line attributes that belong to the item being added to the cart.
{ key: string; value: string; }[]
- buttonRef
A `ref` to the underlying button
Ref<HTMLButtonElement>
- children
Any ReactNode elements.
ReactNode
- defaultOnClick
A default `onClick` behavior
(event?: MouseEvent<HTMLButtonElement, MouseEvent>) => boolean | void
- onClick
Click event handler. Default behaviour triggers unless prevented
(event?: MouseEvent<HTMLButtonElement, MouseEvent>) => boolean | void
- quantity
The item quantity. Defaults to 1.
number
- sellingPlanId
The selling plan ID of the subscription variant
string
- variantId
The ID of the variant.
string
export interface BuyNowButtonPropsForDocs<
AsType extends React.ElementType = 'button',
> extends BuyNowButtonPropsBase,
CustomBaseButtonProps<AsType> {}
Example code
examples
Example code
description
I am the default example
JavaScript
import {BuyNowButton} from '@shopify/hydrogen-react'; export default function ProductBuyNowButton({product}) { const variantId = product.variants[0].id; if (!variantId) { return null; } return <BuyNowButton variantId={variantId} />; }
TypeScript
import {BuyNowButton} from '@shopify/hydrogen-react'; import type {Product} from '@shopify/hydrogen-react/storefront-api-types'; export default function ProductBuyNowButton({product}: {product: Product}) { const variantId = product.variants[0].id; if (!variantId) { return null; } return <BuyNowButton variantId={variantId} />; }