08-07-2024
08-07-2024
Syntax:
setTimeout(function(){ }, interval);
Syntax:
refName = setTimeout(function(){ }, interval);
clearTimeout(refName);
Syntax:
let thread = useRef(null);
thread.current = value/function;
Ex:
let thread = useRef(null);
clearTimeout(thread.current);
Ex:
state-event-demo.jsx
function Msg1(){
setMsg('Hello !');
}
function Msg2(){
setMsg('How are you?');
}
function Msg3(){
setMsg('Welcome to React !');
}
function handleShowClick(){
setTimeout(Msg1, 3000);
m1.current = setTimeout(Msg2,6000);
setTimeout(Msg3,10000);
}
function handleCancelClick(){
clearTimeout(m1.current);
}
return(
<div className="container-fluid">
<button onClick={handleShowClick}>Show Msgs</button>
<button onClick={handleCancelClick}>Cancel 2nd Message</button>
<p className="mt-4 h1">{msg}</p>
</div>
)
}
setInterval() : It can load task into memory and release a copy into process,
so that
the task executed repeatedly until removed from memory.
Syntax:
setInterval(function(){ }, interval);
clearInterval() : It can remove the task from memory using a reference name.
Syntax:
clearInterval(refName);
Ex:
interval-demo.jsx
function StartProgress(){
count.current = count.current + 1;
setProgressValue(count.current);
if(count.current==100)
{
setToggleProgress('d-none');
setToggleImage('d-block');
}
}
function handleLoadClick(){
setToggleBtn('d-none');
setToggleProgress('d-block');
suspendThread.current = setInterval(StartProgress,100);
}
function handlePauseClick(){
clearInterval(suspendThread.current);
}
function handlePlayClick(){
suspendThread.current = setInterval(StartProgress,100);
}
return(
<div className="container-fluid">
<div className="d-flex justify-content-center align-items-center"
style={{height:'100vh'}}>
<div>
<div className={toggleBtn}>
<button onClick={handleLoadClick} className="btn btn-
primary">Load Image</button>
</div>
<div className={toggleProgress}>
<progress value={progressValue} min="1" max="100"
style={{width:'350px', height:'30px'}}></progress>
<p className="text-center">
<button onClick={handlePlayClick} className="btn btn-
success bi bi-play"></button>
<button onClick={handlePauseClick} className="btn btn-
danger bi bi-pause ms-1"></button>
</p>
<p className="text-center">{progressValue}% completed</p>
</div>
<div className={toggleImage}>
<img src="iphone-green.jpg" width="300" height="300" />
</div>
</div>
</div>
</div>
)
}