Front-End/React

[React] useEffect 사용하기

shoney9254 2021. 8. 17. 23:14
반응형

useEffect

useEffect( 실행함수 , [모니터링 대상] )

바로 실행함수를 실행하고, 모니터링할 대상의 변수가 변했을 경우 실행함수를 재실행합니다. 

아래 예제를 살펴봅시다. 

 

1. useEffect( 실행함수, [] ) 

모니터링 대상을 비웠을 경우 한번만 실행합니다. 

소스 코드

import React from 'react';

 

// useEffect(실행함수, [모니터링대상없음]) : 컴포넌트 한번만 실행됨

function Component1(){

    const [base, Func] = React.useState(0);

  React.useEffect(() => {  

    Func(base+1); 

    console.log('컴포넌트 한번 반복');

  }, []);

  return  (

    <div>

        <h3>{base}</h3>

    </div>

    )

}

결과

 

2. useEffect( 실행함수 , [모니터링 대상] )

모니터링 대상이 변경이 일어났을 경우 실행함수를 재실행 합니다. 

결과 창을 보면 계속 숫자가 올라가는 것을 확인할 수 있습니다. 

 

소스 코드

// useEffect(실행함수, [모니터링대상]) : 함수실행하면 base가 +1되면서 다시 컴포넌트가 실행 --> 계속 반복

function Component2(){

    const [base, Func] = React.useState(0);

  React.useEffect(() => {

    Func(base+1);

    console.log('Base가 계속 변하기 때문에 무한 반복');

  }, [base]); 

  return  (

    <div>

        <h3>{base}</h3>

    </div>

    )

}

 

export {Component1,Component2};

 

결과

 

 

반응형