개발자

리엑트 props 전달 뎁스는 어느정도가 적당할까요?

2023년 01월 30일조회 386

props를 전달하는 뎁스에 대한 가이드라인이나 어느 정도의 뎁스가 성능적으로 좋은지 판단하기가 어렵습니다. 리엑트로 개발하시는 분들은 어떤 기준으로 props 뎁스를 전달하고 계신가요? global state로 전환하는 기준도 궁금합니다. 감사합니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

인기 답변

오원종(Owen)님의 프로필 사진

절대적인 기준은 없습니다. props를 통해서 부모에서 자식으로 내려가는 값들은 의존성을 가지게 되고 그 props가 여러 컴포넌트에 계속 타고 타고 내려가게 된다면(props drilling 이라고 합니다) 예상치 못한 side effect가 발생하기도 쉽고, 변화에 유연하게 대응하기도 어렵습니다. 저는 사용하게되면 한 번 정도만 props로 사용하고, 두 번 이상 사용해야 하는 경우라면 차라리 context로 분리합니다. 이는 기준이 사람마다 다르므로 정답은 없는 것 같아요.

profile picture

익명

작성자

2023년 01월 30일

좋은 경험 공유해주셔서 감사합니다. 역시 세번 이상은 거의 안넘기는 것 같고 그 이하로는 컨벤션의 문제이겠네요

인기 답변

성원님의 프로필 사진

안녕하세요. 저도 원종님이 말씀하신 것 처럼 두 뎁스정도 내려가는 경우 context로 분리합니다. 상태 관리 관련하여 트위터의 어느 개발자분이 가볍게 정리하신 내용이 있는데 참고하시면 좋을 것 같아요:) (원문: https://twitter.com/housecor/status/1585989899995344896?s=46&t=JktU641gTarsjhovkXICkg) 1. Start local (로컬 스테이트로 시작) 2. Children need it? Pass state down via props. (자식 컴포넌트에는 props를 통해서 상태값 전달) 3. Parent/siblings need it? Cut and paste into parent. (부모나, 형제 컴포넌트에게 전달해야 하는 경우에는 해당 state를 부모에 정의한 뒤 props로 전달) 4. Remote state? Use React Query. (외부에 상태를 의존한다면 ex)DB, react-query 사용) 5. Any global state left? Consider context, Jotai, Zustand, Redux, etc. (클라이언트 전역에서 사용해야 하는 경우에는 global 상태관리 이용) 2, 3번의 과정에서 props를 전달할 때 뎁스를 신경쓰고, 앱의 전역 라이프 사이클에서 사용해야하는 데이터인지 or state 뎁스의 깊에 따라 globla state로 관리하면 좋을 것 같습니다.

profile picture

익명

작성자

2023년 01월 31일

정보 감사합니다!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!