Проблема с мгновенным ререндером вашего компонента вызвана тем, что requestAnimationFrame вызывается на каждом кадре анимации, что приводит к постоянным перерисовкам. Вместо этого вы можете использовать setTimeout с задержкой в 1000 миллисекунд (1 секунда) для обновления времени.
Александр, Valentin Barbolin, спасибо!