Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ClearCart not clearing on success page in NextJS 13.4.9 app folder. #340

Open
graemec23 opened this issue Mar 8, 2024 · 4 comments
Open

Comments

@graemec23
Copy link

I have a weird bug, I cant get the Cart to clear on the success page after returning from stripe.

If I click on another page, then return to the success page the cart clears. Its just when I come to that page from stripe, or copy / paste the url into a browser. The clearCart function is wrapped in a useEffect like below, and is in a 'use client' component.

useEffect(() => { clearCart(); }, []);

I have found if I wrap the clearCart in a setTimeout it works, but this feels like bit of a hack. Has anyone else had this issue?

@mrarvind90
Copy link

@graemec23 experiencing this issue too with NextJS 14. Glad am not the only one who tried the setTimeout hack 😅 . Did you manage to figure out what is happening?

@graemec23
Copy link
Author

@mrarvind90 not yet sorry, Ive not had a chance to look at it again.

@levipadre
Copy link

Has anyone solved this yet?

@levipadre
Copy link

Temp solution for me, because weirdly it's working with click.

const { clearCart, cartCount } = useShoppingCart();
const buttonRef = useRef<HTMLButtonElement>(null);

    useEffect(() => {
        if (typeof cartCount != 'undefined' && cartCount > 0) {
            const interval = setInterval(() => {
                if (buttonRef.current) {
                    buttonRef.current.click();
                }
            }, 100);

            return () => {
                clearInterval(interval);
            };
        }
    }, [cartCount]); 

and <button className='d-none' ref={buttonRef} onClick={() => clearCart()}>Clear cart</button>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants