if (isApplied && moreCount === 0 && route !== cartUrl && bagCouponActive) { return ( <StickyBottomFooter bottom={bottomPosition}> <Confetti fire /> <FlexBox spacing="py24 m-py12" align="center" justify="center" position="row" fullWidth style={{ background: 'var(--secondary-green)', height: isMobile ? '40px' : '56px', }} > <Text size="16_24" mobileSize="14" thickness="medium" color="white"> Congrats! you've unlocked '{couponCode}' offer </Text>Estoy usando Confetti para mostrar esto, pero aparece cada vez en cada actualización. Estos deben recibir una llamada solo una vez en la página de inicio.
Si quiere decir solo una vez y mantenerlo durante las actualizaciones, debe almacenar en algún lugar la información que disparó su confeti, por ejemplo, en localStorage/sessionStorage:
localStorage.set('fired',true)y luego simplemente verifique si se disparó antes
<Confetti fire={localStorage.get('fired')} /> Si desea restablecer este estado en la actualización de la página y mantenerlo solo aunque el enrutador cambie y redireccione, solo mantenga esta información en useState o Redux store