인프런 커뮤니티 질문&답변

ehdehd1289님의 프로필 이미지
ehdehd1289

작성한 질문수

Redux vs MobX (둘 다 배우자!)

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

작성

·

301

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
질문자

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

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

ehdehd1289님의 프로필 이미지
ehdehd1289

작성한 질문수

질문하기