Considere el siguiente código dentro de un enlace personalizado de React:
function createFadeOut() { if (!isDown && fading) { if (lineQueue.length !== 0) fadeOut(lineQueue.shift()); else addLine(line => { return []; }); } if (isDown && fading) { console.log('DOWN!'); } } function fadeOut(line) { //code } } setInterval(createFadeOut, 60);
Entonces, lo que quiero es que suceda un conjunto de acciones en un intervalo de tiempo discreto, según el estado del mouse y otro evento. isDown se establece cuando se llaman los eventos del mouse. el desvanecimiento es un estado booleano que solo se llama al hacer clic en un botón.
El comportamiento específico es que una lista emerge de un elemento y llama a una función cada 60 fotogramas cuando el mouse está arriba, Y la lista y otras acciones se restablecerán si se vuelve a presionar el mouse.
Por supuesto, estoy luchando para configurar correctamente el comportamiento.