개발자
props를 전달하는 뎁스에 대한 가이드라인이나 어느 정도의 뎁스가 성능적으로 좋은지 판단하기가 어렵습니다. 리엑트로 개발하시는 분들은 어떤 기준으로 props 뎁스를 전달하고 계신가요? global state로 전환하는 기준도 궁금합니다. 감사합니다!
답변 2
인기 답변
절대적인 기준은 없습니다. props를 통해서 부모에서 자식으로 내려가는 값들은 의존성을 가지게 되고 그 props가 여러 컴포넌트에 계속 타고 타고 내려가게 된다면(props drilling 이라고 합니다) 예상치 못한 side effect가 발생하기도 쉽고, 변화에 유연하게 대응하기도 어렵습니다. 저는 사용하게되면 한 번 정도만 props로 사용하고, 두 번 이상 사용해야 하는 경우라면 차라리 context로 분리합니다. 이는 기준이 사람마다 다르므로 정답은 없는 것 같아요.
익명
작성자
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로 관리하면 좋을 것 같습니다.
익명
작성자
2023년 01월 31일
정보 감사합니다!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!