--- title: AddToCartButton description: >- The `AddToCartButton` component renders a button that adds an item to the cart when pressed. It must be a descendent of the `CartProvider` component. api_version: 2023-04 api_name: hydrogen-react source_url: html: >- https://shopify.dev/docs/api/hydrogen-react/2023-04/components/addtocartbutton md: >- https://shopify.dev/docs/api/hydrogen-react/2023-04/components/addtocartbutton.md --- # Add​To​Cart​Button The `AddToCartButton` component renders a button that adds an item to the cart when pressed. It must be a descendent of the `CartProvider` component. ## Props * **children** **ReactNode** **required** Any ReactNode elements. * **attributes** **{ key: string; value: string; }\[]** An array of cart line attributes that belong to the item being added to the cart. * **variantId** **string** The ID of the variant. * **quantity** **number** The item quantity. * **accessibleAddingToCartLabel** **string** The text that is announced by the screen reader when the item is being added to the cart. Used for accessibility purposes only and not displayed on the page. * **sellingPlanId** **string** The selling plan ID of the subscription variant * **as** **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. * **onClick** **(event?: MouseEvent\) => boolean | void** Click event handler. Default behaviour triggers unless prevented * **defaultOnClick** **(event?: MouseEvent\) => boolean | void** A default `onClick` behavior * **buttonRef** **Ref\** A `ref` to the underlying button Examples ### Examples * #### Example code ##### Description I am the default example ##### JavaScript ```jsx import {AddToCartButton} from '@shopify/hydrogen-react'; export default function ProductAddToCartButton({product}) { const variantId = product.variants[0].id; if (!variantId) { return null; } return ; } ``` ##### TypeScript ```tsx import {AddToCartButton} from '@shopify/hydrogen-react'; import type {Product} from '@shopify/hydrogen-react/storefront-api-types'; export default function ProductAddToCartButton({product}: {product: Product}) { const variantId = product.variants[0].id; if (!variantId) { return null; } return ; } ```