diff --git a/ui/hooks/useShouldAnimateGasEstimations.js b/ui/hooks/useShouldAnimateGasEstimations.js index 882950a68..5bd60b80b 100644 --- a/ui/hooks/useShouldAnimateGasEstimations.js +++ b/ui/hooks/useShouldAnimateGasEstimations.js @@ -44,13 +44,18 @@ export function useShouldAnimateGasEstimations() { }, [dispatch, isGasLoadingAnimationActive, showLoadingAnimation]); useEffect(() => { - if ( - isGasLoadingAnimationActive === true && - showLoadingAnimation === false - ) { - setTimeout(() => { + let timer; + + if (isGasLoadingAnimationActive && !showLoadingAnimation) { + timer = setTimeout(() => { dispatch(toggleGasLoadingAnimation(false)); }, 2000); } + + return () => { + if (timer) { + clearTimeout(timer); + } + }; }, [dispatch, isGasLoadingAnimationActive, showLoadingAnimation]); } diff --git a/ui/pages/confirm-transaction-base/confirm-transaction-base.component.js b/ui/pages/confirm-transaction-base/confirm-transaction-base.component.js index adc7e7455..28f13294c 100644 --- a/ui/pages/confirm-transaction-base/confirm-transaction-base.component.js +++ b/ui/pages/confirm-transaction-base/confirm-transaction-base.component.js @@ -866,6 +866,10 @@ export default class ConfirmTransactionBase extends Component { sendTransaction(txData) .then(() => { clearConfirmTransaction(); + if (!this._isMounted) { + return; + } + this.setState( { submitting: false, @@ -877,6 +881,10 @@ export default class ConfirmTransactionBase extends Component { ); }) .catch((error) => { + if (!this._isMounted) { + return; + } + this.setState({ submitting: false, submitError: error.message,