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

Nosugar님의 프로필 이미지

작성한 질문수

웹 게임을 만들며 배우는 React에 TypeScript 적용하기

Context API 타이핑

TableContext.Provider

작성

·

169

0

자식컴포넌트와 쉽게 공유하게끔 해주는 프로바이더 컴포넌트에 달아주는 value 파트 설정이 잘 이해되지않습니다. 여기서는 쉽게 intialState 를 달아주면 안되나요? 

useMemo를 활용하여 밸류를 설정한 부분도 쉽게 이해가 잘안되네요.  프로바이더에 달아주는 밸류값은 항상 이런식으로 함수가 리턴하는 값의 형태로 설정해주어야 하나요?

답변 2

1

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

value에 그냥 { tableData, halted, dispatch } 이렇게 넣어주셔도 됩니다만, 넣는 값이 객체이기 때문에 리렌더링 시마다 새로운 객체가 생성되어 들어가서 Context API를 사용하는 컴포넌트가 모두 리렌더링됩니다.

따라서 같은 객체를 유지해주기 위해 useMemo로 캐싱을 한 것입니다.

0

Nosugar님의 프로필 이미지
Nosugar
질문자

항상 주옥같은 답변을 해주시네요..감사합니다.

Nosugar님의 프로필 이미지

작성한 질문수

질문하기