Cart Page 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 | CartPageQueries | GraphQL queries | 
Example (Importing into your project)
import { 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()
import 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