1. Lifecycle - class 컴포넌트

2. useEffect Hook - function 컴포넌트

3. 응용 - 콜백함수와 useEffect 결합

ex) Detail 페이지 방문 2초 후에 alert 알림창이 사라지게 하기

  1. setTimeout 함수

    function Detail(){
    
      let [ alert, alert변경 ] = useState(true);
      useEffect(()=>{
        let 타이머 = setTimeout(()=>{ alert변경(false) }, 2000);
      });
    
      return (
        <HTML많은곳/>
        {
          alert === true
          ? (<div className="my-alert2">
              <p>재고가 얼마 남지 않았습니다</p>
            </div>)
          : null
        }
      )
    }
    
  2. UI 보이는 여부를 state로 저장해두고, 삼항연산자로 컨트롤 한다.

    function Detail() {
    
      let [ alert, alert변경 ] = useState(true);
    
      useEffect(() => {
    
      });
      return (
     
        {
          alert === true
          ? (<div className="my-alert2">
              <p>재고가 얼마 남지 않았습니다</p>
          </div>)
         : null
        }
      )
    }
    
  3. setTimeout 타이머를 해제 한다.

    useEffect(()=>{
      let 타이머 = setTimeout(()=>{ alert변경(false) }, 2000);
    
      return ()=>{ clearTimeout(타이머) }
    }, []);