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

Seung Eon Kim님의 프로필 이미지
Seung Eon Kim

작성한 질문수

리액트로 구현하는 블록체인 이더리움 ERC721(NFT)

드리즐 컴포넌트 구현 실습(2) - context API(legacy)

TypeError: Cannot read property “drizzle” of undefined

작성

·

166

1

MainComponent 의 Constructor 를 코딩 후 실행하면 웹 페이지에 다음과 같은 에러 화면이 출력됩니다. 

TypeError: Cannot read Property "drizzle" of undefined

Class MainComponent extends Component {

    Constructor(props, context) {

        Super(props);

        This.contracts = context.drizzle.contracts;

....

}

최신 Truffle 문서 내 예제도 동영상가 같은 코드를 사용하는 것으로 보아 버전 이슈는 아닌 것으로 보이고 구글 검색해 보면 drizzle 초기화와 관련된 것 같은데 원인은 잘 모르겠습니다. 

확인 부탁 드립니다. 

답변 2

1

Seung Eon Kim님의 프로필 이미지
Seung Eon Kim
질문자

말씀하신 부분이 있는데도 발생하고 있어서 문의드렸던 건데 2~3번 반복해서 보다보니 오타로 인한 저의 실수였네요..

답변 감사합니다. 

1

coldmind님의 프로필 이미지
coldmind
지식공유자

DrizzleProvider로 드리즐 스토어를 생성했을 것으로 생각됩니다. 이 경우에는 리액트의 Legacy Context API를 사용합니다.   혹시 아래와 같은 부분이 누락되었는지 확인해보세요. 

MainComponent.contextTypes = {
    drizzle: PropTypes.object
}

실습자료에 drizzle을 컴포넌트에서 어떻게 참조하여 나와 있으니 실습자료를 함께 보면서 진행하면 더 효과적일 듯 합니다.  관련된 내용으로 무료 강좌가 있으니 참고하시면 더 좋을 것 같습니다.

Seung Eon Kim님의 프로필 이미지
Seung Eon Kim

작성한 질문수

질문하기