Задать вопрос
@Marat20
Frontend разработчик

Как отобразить точное время (конкретно секунды) в react компоненте?

Мне нужно отобразить точное время (часы:минуты:секунды) на странице рядом с точным временем, которое прилетает с сервера. У меня есть компонент:

export const TimerFrontend = memo(() => {
  const [date, setDate] = useState(new Date());


  useEffect(() => {
    const animationId = requestAnimationFrame(() => setDate(new Date()));

    return () => {
      cancelAnimationFrame(animationId);
    };
  }, [date]);

  return (
    <>
      <span className="timer__name">Frontend</span>
      <div>{date?.toLocaleTimeString()} </div>
    </>
  );
});


Происходит постоянный мгновенный ререндер компонента из-за использования requestAnimationFrame, я его использую, потому что, если взять setInterval, то там секунды будут с задержкой, а requestAnimationFrame решает эту проблему и создает другую (описал вначале). Если есть идеи или кейсы, буду рад узнать!
  • Вопрос задан
  • 656 просмотров
Подписаться 1 Простой 13 комментариев
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы