Me di cuenta de que he estado usando setTimeout() en mi proyecto, tal vez, más de lo que debería, hice una investigación rápida y me desplacé a través de algunos proyectos de reacción de código abierto en Github y decidí que debería preguntar al respecto.
Uso setTimeout principalmente para cambiar el nombre de la clase o agregar estilos para animar los objetos DOM y también usar la transición CSS, un punto que pensé que sería difícil escribir pruebas unitarias con tantos setTimeout.
Como vengo de usar AngularJS, hay un servicio de $timeout que tiene la misma funcionalidad que setTimeout, pero en las pruebas puede eliminar el tiempo de espera como $timeout.flush() y el tiempo de espera finaliza instantáneamente.
Mis preguntas;
setTimeout ?Tenga en cuenta que soy bastante nuevo en reactjs y aún no he escrito ninguna prueba unitaria.
Depende de lo que estés usando. Hay temporizadores falsos sinonjs ( http://sinonjs.org/ ) y Jest también tiene esta funcionalidad (con un ejemplo): https://facebook.github.io/jest/docs/timer-mocks.html
Saludos, Mariusz