⚛️ React/문제풀기 (코딩애플: React)
React : 2초 뒤에 사라지는 alert 만들기 (useEffect, 숏서킷평가)
Zoeeey
2023. 5. 23. 16:23
2초 뒤에 사라지는 alert 만들기
풀이 - 바닐라 js 버전
import { useEffect } from "react"
function Detail(props){
useEffect(()=>{
setTimeout(()=>{ document.querySelector('.alert-warning').style.display = 'none' },2000)
});
return (
<div className="container">
<div className="alert alert-warning">
2초 이내 이벤트로 이동하세요
</div>
</div>
)
}
풀이 2 - react 스타일 버전
import { useEffect, useState } from "react"
function Detail(props){
let [alert, setAlert] = useState(true);
useEffect(()=>{setTimeout(()=>{ setAlert(false) },2000)});
return (
<div className="container">
{alert && <Alert />}
</div>
)
}
function Alert(){
return (
<div className="alert alert-warning">
2초 이내 이벤트로 이동하세요
</div>
)
}
풀이 3 - react useEffect & cleanup function 버전
import { useEffect, useState } from "react"
function Detail(props){
let [alert, setAlert] = useState(true);
useEffect(()=>{
let timer = setTimeout(()=>{ setAlert(false) },2000)
return ()=>{ clearTimeout(timer) }
}, []);
return (
<div className="container">
{alert && <Alert />}
</div>
)
}
function Alert(){
return (
<div className="alert alert-warning">
2초 이내 이벤트로 이동하세요
</div>
)
}
출처 : 코딩애플 https://codingapple.com/