본문 바로가기

JavaScript/React

Hooks - useEffect, 의존성 배열(dependency array)

728x90

Hooks - useEffect, 의존성 배열(dependency array)

 


useEffact

렌더링 될 때, 특정한 작업을 수행해야 할 때 설정하는 훅

  • 컴포넌트가 화면에 보여졌을 때
  • 컴포넌트가 화면에서 사라졌을 때(return)

 

App.jsx

import React, { useEffect, useState } from 'react'

function App() {
  const [value, setValue] = useState('')
  useEffect(() => {
    console.log('hello useEffect!');
  });
  return (
    <div>
      <input
        type='text'
        value={value}
        onChange={(event) => {
          setValue(event.target.value);
        }}
      />
    </div>
  )
}

export default App


의존성 배열

dependency array

이 배열에 값을 넣으면, 그 값이 바뀔 때만 useEffect를 실행

 

App.js

import React, { useEffect, useState } from 'react'

function App() {
  const [value, setValue] = useState('')
  useEffect(() => {
    console.log(`hello useEffect! : ${value}`);
  }, [value]);
  return (
    <div>
      <input
        type='text'
        value={value}
        onChange={(event) => {
          setValue(event.target.value);
        }}
      />
    </div>
  )
}

export default App


clean up

 

App.jsx

import React, { useEffect, useState } from 'react'

function App() {
  const [value, setValue] = useState('');
  useEffect(() => {
    console.log(`hello useEffect! : ${value}`);

    return () => {
      console.log('나 사라져요!');
    }
  }, [value]);
  return (
    <div>
      <input
        type='text'
        value={value}
        onChange={(event) => {
          setValue(event.target.value);
        }}
      />
    </div>
  )
}

export default App

'JavaScript > React' 카테고리의 다른 글

Redux  (0) 2023.06.08
Hooks - useState  (0) 2023.06.07
숙련주차, GlobalStyles, Sass  (0) 2023.06.07
숙련주차, Styled Components ,Css-in-JS  (0) 2023.06.07
반복되는 Component 처리하기  (0) 2023.06.07