# useAttributeValues
Returns the values for the specified `attributes` applied to the checkout.
### Attribute values

```jsx
import React from 'react';
import {
  Text,
  render,
  useAttributeValues,
} from '@shopify/checkout-ui-extensions-react';

render('Checkout::Dynamic::Render', () => (
  <Extension />
));

function Extension() {
  const [buyerSelectedFreeTShirt, tshirtSize] =
    useAttributeValues([
      'buyerSelectedFreeTShirt',
      'tshirtSize',
    ]);

  if (Boolean(buyerSelectedFreeTShirt) === true) {
    return (
      <Text>
        You selected a free t-shirt, size:{' '}
        {tshirtSize}
      </Text>
    );
  }

  return null;
}

```


## 

### UseAttributeValuesGeneratedType
Returns the values for the specified `attributes` applied to the checkout.
#### Returns: (string | undefined)[]

#### Params:
- keys: string[]
export function useAttributeValues<
  ID extends RenderExtensionPoint = RenderExtensionPoint,
>(keys: string[]): (string | undefined)[] {
  const attributes = useAttributes<ID>();

  if (!attributes?.length) {
    return [];
  }

  return keys.map((key) => {
    const attribute = attributes.find((attribute) => attribute.key === key);
    return attribute?.value;
  });
}
## Related
- [StandardApi](/docs/api/checkout-ui-extensions/apis/standardapi)
- [CheckoutApi](/docs/api/checkout-ui-extensions/apis/checkoutapi)
- [OrderStatusApi](/docs/api/checkout-ui-extensions/apis/orderstatusapi)
- [CartLineDetailsApi](/docs/api/checkout-ui-extensions/apis/cartlinedetailsapi)
- [PickupPointsApi](/docs/api/checkout-ui-extensions/apis/pickuppointsapi)
- [PickupLocationsApi](/docs/api/checkout-ui-extensions/apis/pickuplocationsapi)
- [ShippingMethodDetailsApi](/docs/api/checkout-ui-extensions/apis/shippingmethoddetailsapi)
- [ExtensionPoints](/docs/api/checkout-ui-extensions/apis/extensionpoints)