반응형
useEffect hook을 조기 종료하는 방법
문서에는 컴포넌트의 최상위 레벨에만 후크를 호출해야 한다고 나와 있습니다.useEffect의 API로 인해return
는 이미 청소용으로 예약되어 있기 때문에 어떻게 하면 if 스테이트먼트를 완전히 네스트하지 않도록 useEffect 훅을 조기에 종료할 수 있는지 궁금했습니다.
// instead of
React.useEffect(() => {
if (foo){
// do something
}
})
// I would rather write something like
React.useEffect(() => {
if (!foo){
// exit early and stop executing the rest of the useEffect hook
}
// do something
})
어떻게 하면 좋을까요?첫 번째 예에서는 복잡한 조건부 논리로 인해 상황이 빠르게 혼란스러워질 수 있습니다.특히 사용할 수 없는 것을 고려하면useEffect
조건문 안에 있습니다.
모든 기능과 마찬가지로 이 기능을 통해 조기 종료할 수 있습니다.return
키워드를 지정합니다.
다음 2개의 스니펫이 동일합니다.
React.useEffect(() => {
if (foo){
// do something
}
})
React.useEffect(() => {
if (!foo){
return;
}
// do something
})
간단한 해결책은 함수를 만들고 반환하는 것이라고 생각합니다.
useEffect(() => {
const fetchData = async () => {
if (!foo) return
}
fetchData()
}, [])
언급URL : https://stackoverflow.com/questions/54615626/how-to-early-exit-useeffect-hook
반응형
'programing' 카테고리의 다른 글
JSON 및 보고되지 않은 필드 처리 (0) | 2023.03.02 |
---|---|
반응:예기치 않은 토큰 '<' 오류 (0) | 2023.03.02 |
약속이 해결될 때까지 각의 항해를 중지하다 (0) | 2023.03.02 |
AngularJs ngRepeat 요소 제거 (0) | 2023.03.02 |
우체부는 어떻게 요청을 보내나요?Ajax, 동일한 원본 정책 (0) | 2023.03.02 |