기술
조회 235
익명
2022년 10월 19일
다음과 같이 조건에 따라 다른 useEffect를 실행시키려고 합니다. const DataForm = (props: {condition, paramA, paramB} )=> { if (condition) { useEffect(() => { // handle param A }, [paramA]) } else { useEffect(() => { // handle param B }, [paramB]) } }; 이런식으로 작성하는 케이스를 별로 본 적이 없는 것 같은데 혹시 문제가 되거나 고려해야 할 부분이 있을까요?
구체적이고 정성스러운 질문에 ↑Up 투표를 눌러주세요.
설명이 부족한 질문에 ↓Down 투표를 눌러주세요. 커리어리가 질문자에게 수정을 요청할게요.
답변 1
리액트 훅은 최상위에서만 호출되어야 한다는 규칙이 있습니다 https://reactjs.org/docs/hooks-rules.html#only-call-hooks-at-the-top-level 작성하신 예시처럼 조건문 안에서 effect hook을 실행하면 에러가 발생할거에요. Effect hook 안에 조건을 작성하고 해당 조건을 충족하면 무언가를 실행하는 것이 맞습니다!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.