React(5) 〓 useEffect, clean up function

Acrylic·2024년 3월 13일

useEffect & clean up function

const [data, setData] = useState({});
const [count, setCount] = useState(0);

useEffect(
    function () {
      fetch(`https://swapi.dev/api/people/${count}`)
        .then((res) => res.json())
        .then((data) => setData(data));
    },
    [count]
  );

return (
    <div className="App">
      <pre>{JSON.stringify(data, null, 2)}</pre>
      <h2>The count is {count}</h2>
      <button onClick={() => setCount((prevCount) => prevCount + 1)}>
        Add
      </button>
    </div>
  );

코드를 보시면 일단 useState를 이용하여 화면에서 코드를 변경할 count를 즉각적으로 보여 줄 수 있게 했습니다. 이게 있으면 이번에 배울 useEffect라는 걸 사용하기에 편리합니다.

버튼을 누르면 count 값을 1 증가시키게 했는데 useEffectcount 값이 변동된 것을 바로 적용해 주면서 바뀐 링크의 결괏값을 저 JSON.stringify~라는 곳에 바뀐 결과를 출력해 줍니다.

[] 여기에다가 count를 넣는 이유는 count의 값이 변경될 때마다 그 변경된 걸 적용해 주려는 이유입니다.

return function () {
      console.log("Cleaning up...");
      window.removeEventListener("resize", watchWidth);
};

clean up functionreturn function() {}; 이런 걸 사용하는 겁니다.
버튼 같은 걸 눌러서 비활성화되면 저걸 이용해 초기화하는 특정 작업을 수행하시면 됩니다.

profile
프런트엔드 개발자 지망생

0개의 댓글