Vale observar, que pode haver uma certa falta de precisão na contagem do tempo, ao se utilizar o setTimeout
. Ainda que muito preciso, e quase imperceptível em tempos curtos, pode haver uma pequena margem de erro no setTimeout
, Isso significa que o cronômetro pode apresentar pequenos desvios em relação ao tempo real, visto que ele é executado por processadores, e nesses processadores pode haver outros processos em execução que concorrem por tempo de uso da CPU, como por exemplo animações e/ou outros processos (Promisse) em background
Para a aplicação do curso não há problema nenhum, esses pequenos erros serão quase nulos, a ideia é só ensinar React. Mas se sua aplicação real precisa de maior precisão, faz-se necessário lançar mão de outros recursos como API Nativa da WEB de tempo para sincronizar o tempo, ou API Web Workers por exemplo. Note que esses pequenos erros se acumulam em tempos maiores como 30 minutos por exemplo, a diferença em relação ao tempo real, começa ficar muito grande