강의

멘토링

로드맵

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

이종민님의 프로필 이미지
이종민

작성한 질문수

웹 게임을 만들며 배우는 React

8-2. createContext와 Provider

자식 컴포넌트에서 부모 컴포넌트로 데이터를 보낼 때 질문입니다.

작성

·

571

0

공식 홈페이지에서는 리액트는 단방향으로 데이터를 흘러가게 하는게 좋다고 본 기억이 있습니다.

만약, 그런 상황을 막는게 좋겠지만 자식 컴포넌트에서 부모컴포넌트로 데이터를 보내야 하는 상황이 온다면 useReducer와 contextAPI로 보내야 하는건가요?

아니면 다른 방법이 있나요?

퀴즈

Context API는 특히 중첩된 컴포넌트에서 useReducer와 함께 사용할 때 어떤 문제를 해결하는 데 주로 도움이 되나요?

비동기 상태 변화 관리.

여러 계층을 통한 props 전달을 피하는 것.

여러 상태 변수를 하나로 결합하는 것.

타이머와 같은 부수 효과 처리.

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

자식 컴포넌트에서 부모로 데이터를 보낼 수 없어서 부모에 미리 자식에서 쓸 데이터를 만들어두고 setState도 같이 보내서 자식에서 컨트롤 할 수 있도록 해야합니다. 또는 redux같은 상태 관리 라이브러리나 contextAPI로 부모 자식 간에 공통 state를 공유하게 만들어야 합니다.

이종민님의 프로필 이미지
이종민
질문자

또한 useCallback과 useMemo는 자주쓰면 이 또한 성능저하를 유발한다고 하는데 그렇다면 props로 넘기는 경우를 제외하고는 구체적으로 어떤 상황에서 이 두 메서드를 사용하는게 좋을까요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

useCallback은 전부다 적용하시면 되고요. useMemo는 무거운 연산에만 적용하시면 됩니다. 사실 둘 다 자주써도 성능 저하를 일으키는 경우는 거의 못봤습니다. 애초에 설계가 잘못되었을 가능성이 높습니다.

이종민님의 프로필 이미지
이종민
질문자

아하 감사합니다!

이종민님의 프로필 이미지
이종민

작성한 질문수

질문하기