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

170
Visualizações
¿Cómo mostrar la misma cuenta regresiva para todos ReactJS?

Soy muy novato, intento hacer una cuenta regresiva para recargar la página cada 15 minutos para todos los usuarios de mi sitio web. En realidad funciona, pero solo para el lado del cliente, no sé cómo hacerlo para que sea "lado del servidor"

Como la misma cuenta regresiva para todos en el sitio web.

¿Tal vez necesite tomar la fecha del lado de los servidores? pero idk wow para hacer eso.

 import Countdown from "react-countdown"; import { useState, useEffect } from "react"; const twoDigits = (num) => String(num).padStart(2, '0') // Renderer callback with condition const renderer = ({ minutes, seconds, completed }) => { if (completed) { // Render a complete state return (window.location.reload(), []); } else { // Render a countdown return ( <span> {twoDigits(minutes)}:{twoDigits(seconds)} </span> ); } }; const getLocalStorageValue = (s) => localStorage.getItem(s); function RebaseCountdown() { const [data, setData] = useState( { date: Date.now(), delay: 900000, } ); const wantedDelay = 900000; useEffect(() => { const savedDate = getLocalStorageValue("end_date"); if (savedDate != null && !isNaN(savedDate)) { const currentTime = Date.now(); const delta = parseInt(savedDate, 10) - currentTime; //Do you reach the end? if (delta > wantedDelay) { //Yes we clear our saved end date if (localStorage.getItem("end_date").length > 0) localStorage.removeItem("end_date"); } else { //No update the end date with the current date setData({ date: currentTime, delay: delta }); } } }, []); return ( <div> <Countdown date={data.date + data.delay} renderer={renderer} intervalDelay={3} autoStart={true} onStart={(delta) => { //Save the end date if (localStorage.getItem("end_date") == null) localStorage.setItem( "end_date", JSON.stringify(data.date + data.delay) ); }} onComplete={() => { if (localStorage.getItem("end_date") != null) localStorage.removeItem("end_date"); }} /> </div> ) } export default RebaseCountdown
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