• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

TableContext.Provider

20.09.18 00:58 작성 조회수 116

0

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

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

답변 2

·

답변을 작성해보세요.

1

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

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

0

Nosugar님의 프로필

Nosugar

질문자

2020.09.18

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