개발자

React 커스텀 훅 라이프사이클

2022년 10월 17일조회 206

리액트의 커스텀 훅에 관해 질문이 있습니다. <A> <B /> <C /> </ A> 이런 계층으로 컴포넌트가 구성됐을 때 B, C 컴포넌트에 useCustomHook이라는 커스텀 훅을 각각 호출하고 있는 상황입니다. ex) const B = () => { const {data} = useCustomHook() } 1. 컴포넌트 B, C에서 각각 호출되는 useCustomHook은 데이터를 공유하나요? 2. B 컴포넌트만 리렌더링될 경우 C컴포넌트의 useCustomHook에도 영향이 있나요? 부모 컴포넌트 아래의 같은 자식이 useCustomHook을 동시에 사용하고 있어서 라이프사이클이 헷갈리네요 답변해주시면 감사하겠습니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

성원님의 프로필 사진

커스텀 훅은 훅이 호출된 컴포넌트의 라이프 사이클을 따릅니다. 간단하게 호출하는 컴포넌트의 자식 컴포넌트라고 생각하면 이해가 쉽습니다. B, C 컴포넌트에서 각각 호출된 useCustomHook은 서로 다른 라이프사이클을 갖는 훅입니다. hook이 아닌 Button이라는 컴포넌트가 B, C에서 각각 호출 됐을 때 Button 컴포넌트가 데이터를 공유하지 않는 것과 같습니다. 질문에 답변해보면 1. useCustomHook 각 컴포넌트에서 서로 다른 라이프 사이클을 형성하므로 데이터를 공유하지 않습니다. 2. 라이프 사이클이 다르기 때문에 B 컴포넌트의 리렌더링은 C 컴포넌트의 useCustomHook의 호출에 영향을 끼치지 않습니다. 같은 훅이 여러 자식 컴포넌트 사이에 중복으로 호출됐을 때 라이프 사이클을 헷갈리는 경우가 있는데, 중복 호출로 인해 불필요한 리렌더링이 발생하지 않도록 훅을 잘 분리하는것이 중요합니다!

profile picture

익명

작성자

2022년 10월 18일

친절한 설명 감사드립니다!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!