인프런 커뮤니티 질문&답변

김주현님의 프로필 이미지
김주현

작성한 질문수

[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)

[구현하기 1] State 끌어올기

State 끌어올리기 구분.

작성

·

320

0

안녕하세요.

 

state 끌어올리기는 하는 이유는 즉 여러곳에서 사용 할 데이터를 자식에서 부모로 보내 
또 다른 컴포넌트에서 사용하도록 하기 위한 것으로 이해가 됩니다.

1. 상태를 여러곳으로 사용하는  경우에는 자식 => 부모로 보내는 패턴을 이용하는 것이 맞는 방법이고 자식에서 계속 상태를 가지고 부모로 보내는 방식을 잘못된 방식인가요?

2. 만약 어떠한 하나의 상태만 공통적으로 사용하는 경우 그 상태만 끌러올려서 사용하는게 맞는 것인지. 아니면 다른 상태도 같이 끌어올려 함수형 컴포넌트로 만든 후 부모로 보내는게 맞는 건가요?
만약 어떤건 부모로 어떤건 자식에서 관리를 하면 약간 중구난방의 코드가 될 것 같은데.. 
어떠한 방식이 좋은지 궁금합니다.

맞다 틀리다의 영역인지 개발패턴이나 디자인에 영역에 따라 다른 것인지 궁금합니다.

 

이전 질문 답변 감사했습니다.

 

답변 1

2

김정환님의 프로필 이미지
김정환
지식공유자

컴포넌트의 상태를 다른 컴포넌트에서도 사용한다면 이 상태를 사용하는 컴포넌트들의 최상위 컴포넌트에 상태를 두는 것이 좋습니다(상태 끌어올리기). 그렇지 않으면 각 컴포넌트별로 상태를 관리해야하기 때문이죠. 이것은 코드 중복이라서 코드를 수정할 때 문제가 되기 쉽습니다.

공통으로 사용하는 상태만 끌어올리는 것이 좋습니다. 코드가 중구난방이 될것을 염려하셨는데요. 여러번 컴포넌트 설계를 해보면서 익혀야 하는 부분이기도 합니다. 컴포넌트 설계하시는데 리액트로 생각하기 문서도 함께 읽어 보세요.


김주현님의 프로필 이미지
김주현

작성한 질문수

질문하기