mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-01 07:02:48 +08:00
42 lines
991 B
JavaScript
42 lines
991 B
JavaScript
import { useCallback, useMemo } from '@wordpress/element';
|
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
|
|
export const useCustomerData = () => {
|
|
const customerData = useSelect( ( select ) =>
|
|
select( 'wc/store/cart' ).getCustomerData()
|
|
);
|
|
|
|
const {
|
|
setShippingAddress: setShippingAddressDispatch,
|
|
setBillingAddress: setBillingAddressDispatch,
|
|
} = useDispatch( 'wc/store/cart' );
|
|
|
|
const setShippingAddress = useCallback(
|
|
( address ) => {
|
|
setShippingAddressDispatch( address );
|
|
},
|
|
[ setShippingAddressDispatch ]
|
|
);
|
|
|
|
const setBillingAddress = useCallback(
|
|
( address ) => {
|
|
setBillingAddressDispatch( address );
|
|
},
|
|
[ setBillingAddressDispatch ]
|
|
);
|
|
|
|
return useMemo(
|
|
() => ( {
|
|
shippingAddress: customerData.shippingAddress,
|
|
billingAddress: customerData.billingAddress,
|
|
setShippingAddress,
|
|
setBillingAddress,
|
|
} ),
|
|
[
|
|
customerData.shippingAddress,
|
|
customerData.billingAddress,
|
|
setShippingAddress,
|
|
setBillingAddress,
|
|
]
|
|
);
|
|
};
|