inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Redux vs MobX (둘 다 배우자!)

2-7. redux-devtools와 connect

useSelector 사용시 문제점 문의

325

슈퍼장

작성한 질문수 5

0

컴포넌트에서 user, posts 를 store 에서 꺼내올 때 매번 useSelector 를 사용하지 않고

const { user, posts } = useSelector(store => store)

위처럼 한번만 호출하여 사용하면 강의에서 class 기반에서 성능상의 이유로 reselect 사용해야 한다는 것고 동일한 이슈가 발생하는 건가요? 

즉 user 만 업데이트 되어도 posts 까지 가져오는 연산을 수행하는지.. 한다면 저렇게 사용하면 안될 것 같은데 궁금하네요.

혹시 user 만 업데이트한 경우 posts 도 가져오기 위한 연산을 하는지 유무를 제가 직접 확인해볼 수 있는 방법이 있을까요?

redux mobx

답변 2

1

제로초(조현영)

가져오기 위한 연산은 당연히 할수밖에 없는게 구조분해 문법이기 때문입니다. 함수 컴포넌트가 실행될 때 store객체에서 store.user와 store.post 를 꺼내올수밖에 없습니다.

0

슈퍼장

디스트럭쳐링시 혹시 useSelector 내에서 최적화해서 꺼내주는 뭔가 있을까 싶어 문의드렸는데

확실하게 하려면 컴포넌트 내에서 store 참조시 아래 처럼 꺼내와야 불필요한 연산을 하지 않겠네요. 

const user = useSelector(store => store.user);
const posts = useSelector(store => store.posts);

답변해 주신 내용 통해서 어떻게 쓰는게 더 성능상 좋게다는 판단은 드는데 혹시 직접 로그를 찍어본다던지 해서 확인할 수 있을까요?

요즘 디바이스, 브라우저 엔진들 다 성능이 좋아 코드 자체는 가독서 좋은 방식으로 짜는게 더 좋다고 생각은 하는데 디스트럭쳐링으로 store 참조시 실제로 어느정도 무리한 연산인지 직접 확인할 수 있으면 트레이드 오프를 좀 더 효율적으로 할 수 있을 것 같아 문의드립니다.

context api, redux를 혼용하는건 별로일까요?

0

368

1

섹션 3 mobx autorun 관련 질문입니다.

0

255

1

thunk 미들웨어 잡업 중 논리로직 단계? 질문이 있습니다.

0

285

1

rootSaga에서 call를 사용하는 이유가 궁금합니다.

0

358

1

observable의 함수를 익명함수로 바꿔봤습니다.

0

383

1

useSelector 리랜더링 질문있습니다.

0

382

1

비동기 action 타입을 뭘로 지정해야 할까요?

0

258

1

redux-thunk질문

0

432

1

state 변경 시 질문

0

346

1

state변경 시 질문

0

329

2

firstMiddleware와 thunkMiddleware 순서 질문

0

433

1

객체 동적 다이나믹 속성?? 질문

1

272

1

미들웨어 질문

0

247

1

리덕스 사가 실습 파일 확인 부탁드립니다!

1

581

2

1-6 강의에서 질문 있습니다!

1

359

1

redux-saga 깃헙 파일

0

369

1

createStore -> configureStore

0

300

1

전역 변수와 전역 상태 값

0

666

2

Redux toolkit 과 axios API 호출에 관한 질문입니다.

0

439

1

MobX Data

0

233

1

mobx state action 변화 감지 관련

0

717

1

mobx configure

0

208

1

리덕스 툴킷 과 saga질문

0

287

1

로깅 미들웨어 질문입니다

0

238

1