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

meow님의 프로필 이미지
meow

작성한 질문수

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

Context 강의에서 value={data}가 나오지 않습니다

작성

·

159

0

https://codesandbox.io/s/chapt-15-forked-vrnxn1?file=/src/App.js

 

안녕하세요. 컴포넌트 트리에 데이터 공급하기 - Context 강의 수강 중에

강의와 함께 강의 참고용 코드 샌드박스를 보면서 궁금한 것이 있어 질문 남깁니다.

 

위 링크 코드의 115번째 줄처럼

const store = { data };

이후 리턴문에서

<DiaryStateContext.Provider value={store}> 를 작성해줘야

정상적으로 동작하는 것을 확인했는데

 

강의처럼 <DiaryStateContext.Provider value={data}> 로 수정하면

TypeError Cannot read properties of undefined (reading 'length') 가 뜨면서 제대로 작동되지 않습니다

위 두 방법 (store 변수를 작성해서 넣어주거나, 강의처럼 data 그대로 넣어주거나) 의 차이는 무엇이고

왜 링크의 코드에서 store가 아닌 data를 넣으면 작동하지 않는 건지 궁금합니다..

 

답변 1

0

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

안녕하세요 이정환입니다.

DiaryList에서 useContext(DiaryStateContext)로 불러온 값은 그 자체가 일기 데이터 배열입니다.

따라서 const { data } = useContext(...)이 아니라 다음과 같이 사용하셔야합니다.

감사합니다.

image

meow님의 프로필 이미지
meow

작성한 질문수

질문하기