개발자
안녕하세요 리덕스에 대해 여쭤볼게 있습니다. 리덕스를 사용하면 state를 부모에서 자식으로 계속 내려주는 방법으로 하지 않고 필요한 컴포넌트에 바로 state를 전달 할 수 있다...라고 이해를 했습니다. 여기서 궁금한점이 예를 들어 데이터를 저장하는 state도 있고 모달창을 할때 사용하는 state도 있을텐데 모든 state를 리덕스로 만드는건가요? 아니면 어떤 state만 리덕스로 저장해서 사용하면 되는지 쉽게 알려주시면 너무 감사드리겠습니다.
답변 1
부모에서 자식으로 계속 내려주는 상태를 지역 상태, 리덕스 등을 이용하여 필요한 곳에서 바로 전달할 수 있는 상태를 전역 상태라합니다. 각 상태는 상황에 따라 적절하게 사용하시면 됩니다. 즉 질문에 대답하자면 '어떤 state만 리덕스로 저장해서 사용'하시면 됩니다. 그럼 이제 '어떤'에 해당하는 상태가 무엇인지 구분할 수 있는 능력이 필요하겠네요. 여러가지 기준이 있을 수 있겠습니다. 말씀하신대로 부모, 자식 컴포넌트 사이가 너무 멀어 계속 전달(이를 props drilling이라 합니다.)하는 게 번거롭다면 전역 상태를 사용하는 게 좋은 옵션이 될 수 있습니다. 한편 용어의 뜻 그대로 어떤 상태가 지역적으로 필요한 값이라면, 즉 특정 영역에만 국한된 관심사를 갖고 있다면 지역 상태, 여러 영역에 걸쳐 쓰일 예정이라면 전역 상태를 이용하는 편이 낫겠죠. 예를 들어, 특정 페이지에서의 옵셔널하게 렌더링되는 특정 컴포넌트에 대한 visible 여부는 지역 상태로 관리하는 게 보통 나을 겁니다. 반면 모든 페이지가 로그인 여부에 따라 다른 화면을 보여줘야 한다면 로그인 여부는 전역 상태로 관리하는 게 낫겠죠.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!