useEffect에 대한 시각적 가이드 - 정리
4182 단어 webdevreactjavascript
다음은 처음 렌더링된 후 몇 초가 경과했는지 기록하는 구성 요소입니다.
구성 요소가 마운트 해제된 후에도 효과가 계속 실행될 수 있습니다.
이제 앱에 두 페이지가 있다고 가정해 보겠습니다. 해당 페이지 중 하나만 구성 요소가 있습니다. 다음은 페이지 사이를 전환할 때 일어나는 일입니다.
로그는 구성 요소가 마운트 해제된 후에도 계속 실행됩니다. 그것을 방지하는 방법?
Every effect may return a function that cleans up after it
React performs the cleanup when the component unmounts
효과는 실행할 때마다 누적될 수 있습니다.
마지막으로 렌더링된 후 몇 초가 경과했는지 기록하도록 구성 요소를 변경해 보겠습니다. 다시 렌더링할 때마다 효과를 실행하려면 종속성 배열을 제거해야 합니다.
구성 요소를 계속 다시 렌더링하면 새 간격을 계속 생성합니다. 어떻게 마지막 간격만 유지합니까?
React also cleans up effects from the previous render before running the effects next time
언제 정리를 사용합니까?
효과를 추가할 때마다 구성 요소가 마운트 해제될 때 어떤 일이 일어날지 생각하십시오. 이 효과가 계속 실행됩니까? 그렇다면 정리 기능을 제공하십시오. 그렇게 하면 실행될 때마다 효과가 누적되는 두 번째 사용 사례가 자동으로 처리됩니다.
이 효과는 구성 요소가 마운트 해제된 후에 계속 실행되지 않습니다.
청소가 필요하지 않습니다.
useEffect(() => {
document.title = props.title
})
이 효과는 구성 요소가 마운트 해제된 후에도 계속 실행됩니다.
정리가 필요합니다.
useEffect(() => {
const handler = () => console.log(window.pageYOffset)
window.addEventListener("scroll", handler);
return () => window.removeEventListener("scroll", onScroll);
})
시각적인 React 콘텐츠의 일일 스니펫을 찾고 계십니까?
Reference
이 문제에 관하여(useEffect에 대한 시각적 가이드 - 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sidkh/a-visual-guide-to-useeffect-cleanups-13mf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)