react-vegas
Version:
Vegas.js for React
24 lines (23 loc) • 773 B
JavaScript
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
const useAutoplay = (isPlaying, isTransitioning, currentSlide, slides, delay, next, log)=>{
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
let timer;
if (isPlaying && !isTransitioning) {
const currentDelay = slides[currentSlide].delay || delay;
log(`设置自动播放定时器,延迟: ${currentDelay}ms`);
timer = window.setInterval(next, currentDelay);
}
return ()=>{
if (timer) {
log("清理自动播放定时器");
clearInterval(timer);
}
};
}, [
isPlaying,
currentSlide,
isTransitioning,
next
]);
};
export { useAutoplay };