🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

리렌더링 질문

21.07.27 23:00 작성 조회수 143

0

- useCallback은 캐싱이니까 이전 컴포넌트랑 지금 컴포넌트랑 [ ] 부분이 바뀌지 않는 이상 똑같은걸로 친다. 
- return () 안 부분에서는 실제화면에서 바뀐 부분만 다시 그린다.
라고 하셨는데, 아이디나 비밀번호 Input 부분 onChange 에 의해서 value 에 있는 id 와 password가 바뀌면 return () 안에 Input 의 리렌더링을 방지하나요? 아니면 리렌더링이 되나요? 이 부분이 약간 헷갈립니다!!

답변 2

·

답변을 작성해보세요.

1

리렌더링은 발생하고요. 다만 input과 password를 쓰고 있는 jsx 부분만 다시 그립니다.

0

이은아님의 프로필

이은아

질문자

2021.07.27

아하 그러면 useCallback 은 return () 안에서의 컴포넌트의 리렌더링 방지를 위한 것이 아닌 return () 밖의 함수자체에 대한 재사용? 을 위한것 이라고 생각하면 되나요??

아뇨 리렌더링 방지 기능도 합니다

이은아님의 프로필

이은아

질문자

2021.07.28

 useCallback() 을 쓰면 [] 안에 들어가는 값이 변하지 않는 이상, 함수가 새로 만들어지지 않게 방지하는 기능 + 컴포넌트 리렌더링 방지 기능 이라고 생각하면 되나요? 
만약, 자식컴포넌트에 props로 useCallback()이 적용된 함수를 전달하면 그 자식컴포넌트의 리렌더링을 방지하게 되니까요?

네 맞습니다

이은아님의 프로필

이은아

질문자

2021.07.28

답변 감사합니다!

채널톡 아이콘