Shopping Cart Talons
Functions
- useCartPage(props) ⇒ CartPageTalonProps
- This talon contains logic for a cart page component. It performs effects and returns prop data for rendering the component. - This talon performs the following effects: - Manages the updating state of the cart while cart details data is being fetched
 
Typedefs
- CartPageQueries : Object
- GraphQL formatted string queries used in this talon. 
- CartPageTalonProps : Object
- Props data to use when rendering a cart page component. 
This talon contains logic for a cart page component. It performs effects and returns prop data for rendering the component.
This talon performs the following effects:
- Manages the updating state of the cart while cart details data is being fetched
Returns: Parameters
| Name | Type | Description | 
|---|---|---|
| props | Object | |
| props.queries | GraphQL queries | 
Example (Importing into your project)
Copied to your clipboardimport { useCartPage } from '@magento/peregrine/lib/talons/CartPage/useCartPage';
GraphQL formatted string queries used in this talon.
See: cartPage.gql.js
for queries used in Venia
Properties
| Name | Type | Description | 
|---|---|---|
| getCartDetailsQuery | GraphQLAST | Query for getting the cart details. | 
Props data to use when rendering a cart page component.
Properties
| Name | Type | Description | 
|---|---|---|
| cartItems | Array.<Object> | An array of item objects in the cart. | 
| hasItems | boolean | True if the cart has items. False otherwise. | 
| isCartUpdating | boolean | True if the cart is updating. False otherwise. | 
| setIsCartUpdating | function | Callback function for setting the updating state of the cart page. | 
| shouldShowLoadingIndicator | boolean | True if the loading indicator should be rendered. False otherwise. | 
Source Code: pwa-studio/packages/peregrine/lib/talons/CartPage/useCartPage.js
Examples
useCartPage()
Copied to your clipboardimport React from 'react';import { useCartPage } from '@magento/peregrine/lib/talons/CartPage/useCartPage';import { GET_CART_DETAILS } from './myCartPage.gql';const MyCartPage = props => {const queries = {getCartDetails: GET_CART_DETAILS}const talonProps = useCartPage({ queries });const {handleSignIn,hasItems,isSignedIn,isCartUpdating,setIsCartUpdating,shouldShowLoadingIndicator} = talonProps;return (// JSX using talonProps data)}export default MyCartPage

