자식 컴포넌트 props 문의 드립니다.
278
작성한 질문수 75
강사님 안녕하세요.
오늘도 영상 시청하던 중, 궁금한 점이 하나 생겨서 문의드립니다.
부모 컴포넌트에서 useSelector 로 얻은 상태값 일부를 자식 컴포넌트에 props 로 전달하여 자식컴포넌트에서 활용하는 식으로 코딩하는 과정을 확인하게 됐는데요. 자식컴포넌트에서 직접 useSelector 를 사용하여 얻는 것과 어떤 차이점이 있을까요?
일단, props 로 내려보내는 방식의 경우, 자식컴포넌트가 특정 리덕스 state 에 의존하지 않게 되므로 다른 부모컴포넌트에서 재활용할 수 있을 것 같아보이는데요. 만약 자식 컴포넌트를 재활용할 일이 없는 경우에는 자식 쪽에서 직접 useSelector 를 사용하는 방법이 props 를 이용하는 것과 또 다른 차이가 있을까요?
답변 1
0
말씀하신대로 리덕스 state에 대한 의존성을 허락하느냐 마느냐의 차이가 있습니다.
아래 글에서 말하는 식으로 presentation 컴포넌트라는 것을 구분하면 재사용성이 좋아지는데요
https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0
프로젝트의 성격에 따라서 리덕스 state에 대한 의존성을 추가하는 것이 재사용성에 미치는 영향은 달라질 수 있습니다.
만약 재사용성에 미치는 영향이 작다고 판단되면 편하게 여러 곳에서 useSelector 를 사용해도 된다고 생각합니다.
재사용성 말고 다른 차이가 있는지는 모르겠네요 (약간의 성능 차이 정도)
조금 다른 얘기이긴 하지만,
리덕스 state에 대한 의존성을 추가하면 유닛테스트나 스토리북 등의 UI Test 시 많이 번거로울 수 있습니다.
이 역시 프로젝트마다 컴포넌트 테스트를 어느 정도로 또는 어떤 구조로 작성하는지 다르기 때문에 번거로운 정도는 다르겠지만요.
자동완성기능이 안되네요 ..
0
500
3
화면에 에러가나네요 ...
0
517
2
setValue 함수 질문 있습니다.
0
841
1
찾아야한다 실습 문의
0
470
1
훅 기초 익히기 - 배치 처리와 순차적 처리의 차이
0
473
1
cra, next.js 관련 질문 드립니다!
0
606
1
useState 배열 비구조화 문법 질문!
0
253
1
Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'
1
1082
2
Saga 오류 이거 혹시 왜이런지 알수 있을까요?
0
372
2
http://localhost:3001/user/search?keyword=u 이걸로 데이터를 보는데 저는 사이트에 연결할 수 없다고 나오네요
0
658
1
match
1
497
1
버튼이 생성되지 않습니다 .
0
288
1
혹시 import 옆에 파일 사이즈 표시 어떻게 하나요?
0
263
1
saga 문제
0
249
1
에러가 발생하는데 이유가뭘까요..?
0
390
2
선생님과 똑같이 했는데 다 rendering 됩니다.
0
203
1
컴포넌트와 컨테이너의 기준
0
316
1
커스텀훅의 개념과 함수차이
1
1199
1
useEffect 실전 활용법(1) 강의에서 질문있습니다.
0
338
1
리덕스, 사가파일들의 관리
0
208
1
useImperativeHandle 질문 입니다.
0
281
1
컴파일 문의드립니다.
0
204
1
React.memo 관련 질문이 있습니다.
0
374
1
Context API vs Redux 사용 빈도
0
213
1





