Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

109
Visualizações
Deje de ejecutar la función setInterval al cargar una nueva pestaña en React

Le di una función setInterval dentro de useEffect ya que tiene que enviar una acción cada 28 minutos, y este setInterval comenzará solo cuando el usuario haya iniciado sesión (la variable isLogged nos indica si el usuario ha iniciado sesión o no), es funciona como se esperaba, pero si abro una nueva pestaña, comienza un nuevo intervalo de 28 minutos en esa nueva pestaña que no espero.

Mi requisito -

  • Cada 28 min debe haber un evento de despacho.
  • Si el usuario inicia sesión en una pestaña y trabaja durante 20 minutos y abre una nueva pestaña, en los próximos 8 minutos debería ocurrir un evento de envío en ambas pestañas al mismo tiempo.

Código

 const isLogged = useSelector((state) => state.userReducer.loggedIn); // provide boolean value const intervalId = useRef(null); useEffect(() => { intervalId.current = setInterval(() => { // To check in between if user is logged out and to stop setInterval if(isLogged === false){ clearInterval(intervalId.current); return; } dispatch(refreshUserToken()); }, 1000 * 60 * 28); return () => { clearInterval(intervalId.current) } },[isLogged])

No tengo idea de cómo hacer este concepto, ¿podría alguien ayudarme a resolver este problema? Gracias de antemano !!

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda