인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

pac's profile image
pac

asked

Redux vs MobX (Learn Both!)

useDispatch 관련 질문드립니다

Resolved

Written on

·

296

0

안녕하세요 :) 

const dispatch  = useDispatch(); 

const getTodoDatum = useCallback(() => {
  dispatch(fechLocal());
}, [dispatch]);

이런식으로 dispatch를 사용하는 함수를 useCallback으로 감싸고 의존성 배열에 dispatch를 넣었는데요

상태가 변경될 때마다 disptach가 새로 생성되어서 getTodoDatum도 새로 생성되더라구요.

또 이 함수를 전달받는 컴포넌트들도 리렌더링되구요. 

그래서 useMemo를 사용하려 했지만,  콜백함수 안에 useDispatch를 넣으니 hook은 컴포넌트 최상단에 넣어야한다는 에러가 뜨더라구요.

음..  잘 전달됐을지 모르지만 요약하자면 useDispatch()의 값을 메모이제이션 할 수 있는 방법이 궁금합니다!

참고 할 수 있는 키워드 혹은 사이트만 알려주셔도 감사하겠습니다:)

useDispatchmobxdispatchredux

Answer 1

1

zerocho님의 프로필 이미지
zerocho
Instructor

dispatch는 값이 아예 바뀌지 않습니다.  그래서 리렌더링을 유발하지도 않아야 정상입니다. 혹시 컴포넌트 자체가 다른 원인으로 리렌더링되는 것 아닌가요?

pac님의 프로필 이미지
pac
Questioner

아! 그렇군요 
확인 다시 해보겠습니다. 답변 감사합니다:)

pac's profile image
pac

asked

Ask a question