작성
·
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는 달라진 셈이기 때문에 컴포넌트가 리렌더링이 됩니다.
네 늦은시간에도 빠른 답변감사합니다. !! 얕은복사만 해주지만 shallowEqual을 사용해야겠네요!
useSelector로 불러오는게 많아서 4개이상 되면 너무 지저분해지네요 감사합니다!