From 4f990fd475cecea0b6a6fb967786184775d0f768 Mon Sep 17 00:00:00 2001 From: Darren Ethier Date: Sat, 4 Apr 2020 13:36:46 -0400 Subject: [PATCH] switch from event subscription to status watch (https://github.com/woocommerce/woocommerce-blocks/pull/2119) --- .../js/blocks/cart-checkout/checkout/block.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/plugins/woocommerce-blocks/assets/js/blocks/cart-checkout/checkout/block.js b/plugins/woocommerce-blocks/assets/js/blocks/cart-checkout/checkout/block.js index 5d89dfef63c..28354dd1650 100644 --- a/plugins/woocommerce-blocks/assets/js/blocks/cart-checkout/checkout/block.js +++ b/plugins/woocommerce-blocks/assets/js/blocks/cart-checkout/checkout/block.js @@ -61,7 +61,11 @@ const Checkout = ( { shippingRates = [], } ) => { const { isEditor } = useEditorContext(); - const { hasOrder, onCheckoutCompleteError } = useCheckoutContext(); + const { + hasOrder, + hasError: checkoutHasError, + isComplete: checkoutIsComplete, + } = useCheckoutContext(); const { showAllValidationErrors } = useValidationContext(); const { shippingRatesLoading, @@ -121,14 +125,11 @@ const Checkout = ( { }, [ shippingAsBilling, setBillingData ] ); useEffect( () => { - const unsubscribeCompleteError = onCheckoutCompleteError( () => { + if ( checkoutIsComplete && checkoutHasError ) { showAllValidationErrors(); scrollToTop( { focusableSelector: 'input:invalid' } ); - } ); - return () => { - unsubscribeCompleteError(); - }; - }, [ onCheckoutCompleteError ] ); + } + }, [ checkoutIsComplete, checkoutHasError ] ); if ( ! isEditor && ! hasOrder ) { return ;