• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

useSelector 사용시 성능 문제점 문의드립니다.

22.02.02 22:51 작성 조회수 213

0

안녕하세요 제로초님 실무에서 redux를 사용중입니다.

강의에서 class형과 달리 훅스 방식으로는 useSelector 사용시

const { user , post } = useSelector((state) => state)
이렇게 구조분해할당 으로 가져오게 된다면 

const user = useSelector((state) => state.user);
const post = useSelector((state) => state.user );
이렇게 따로 가져오는것에 비해 낭비가 발생하는걸까요?

낭비가 발생하는 이유는 비구조화할당으로 해당 객체의 값이 바뀌었는지 알지못해서 항상 기존 값을 기억하지못해서 그런걸까요? 질문드립니다

답변 1

답변을 작성해보세요.

2

네 구조분해할당으로 값을 가져오면 user나 post가 바뀌지 않았는데도 리렌더링이 발생할 수 있습니다.

왜냐하면 state 전체를 비교해버리거든요. state에서 user나 post를 제외한 다른 게 바뀌면 state는 달라진 셈이기 때문에 컴포넌트가 리렌더링이 됩니다.

ehdehd1289님의 프로필

ehdehd1289

질문자

2022.02.02

네 늦은시간에도 빠른 답변감사합니다. !!  얕은복사만 해주지만 shallowEqual을 사용해야겠네요!

useSelector로 불러오는게 많아서 4개이상 되면 너무 지저분해지네요 감사합니다!