IT이야기

useEffect를 사용해야 하는 이유가 있는가?

cyworld 2022. 4. 3. 21:02
반응형

useEffect를 사용해야 하는 이유가 있는가?

따라서 종속성 어레이 없이 Effect를 사용하면 모든 렌더에서 이러한 현상이 발생한다.

하지만 코드를 컴포넌트에 직접 적기만 하면 그렇게 될 겁니다.그래서 그것을 사용할 이유가 있을까?

한 가지 생각할 수 있는 것은 청소기능으로 뭔가를 하는 것이지만, 유효한 사용사례를 생각해 낼 수는 없다.

하지만 코드를 컴포넌트에 직접 적기만 하면 그렇게 될 겁니다.

사실, 그것은 완전히 사실이 아니다.

예를 들어 useState를 동일한 값으로 업데이트하면 React는 함수 구성요소를 재평가하지만 효과를 트리거하지 않고 useEffect 밖의 코드를 실행하지만 내부 useEffect는 실행하지 않는다.

공식 문서에는 주정부 업데이트에서 벗어나라는 내용이 적혀 있다.

그리고 이것은 그 문제의 한 예다.

문제는 정상적인 JS 기능 둘 다 입니다.useEffect어떤 의존도 없이 동일한 작업을 수행하지만 차이점은 다음과 같다.

  1. useEffect 일반 JS가 아닌 리액션 코드에서만 액세스할있다.그것은 반응 면에서 더 큰 힘을 가지고 있다.따라서 후크 범위는 리액션 코드 월드로 제한된다.
  2. 클래스 기반 구성 요소에서는 Hooks가 작동하지 않지만 일반 기능은 작동할 것이다.
  3. 리액션은 전달된 기능을 기억하고("효과"로 표시), 나중에 DOM 업데이트를 수행한 후 호출하지만 다른 경우에는 그렇지 않을 수 있다.(중요)
  4. 기본적으로 효과는 완료된 렌더마다 실행되지만 특정 값이 변경된 경우에만 실행되도록 선택할 수 있지만 일반적인 JS 기능으로는 쉽지 않다(질문과 별개의 측면 이점만 있음).

참조URL: https://stackoverflow.com/questions/64840188/is-there-a-reason-to-use-useeffect-without-dependency-array

반응형