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

9488372님의 프로필 이미지
9488372

작성한 질문수

[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)

[순수JS 1] 검색결과 2(실습)

검색결과 1

작성

·

209

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
 
똑같이 한거 같은데
실행하면 Controller.js에서 오류가 납니다.
render함수 호출하고
render() { if (this.store.searchKeyword.length > 0) { this.searchResultView.show(this.store.searchResult); return; }
show 부분에서
Uncaught TypeError: Cannot read properties of undefined (reading 'show')
라고 나옵니다.
이유가 뭔지 모르겠네ㅐ요;;; 똑같이 따라했는데,..,,.ㅠ

답변 1

0

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

searchResultView에서 show를 읽으로려하는데 오류가 났네요. this.searchResultView의 값이 undefined로 나오는데요. 생성자 함수에서 값을 할당한 코드가 있는지 확인 한 번 해보세요.

this.searchResultView = searchResultView;

확인하셨다면 컨트롤러를 생성할때 뷰를 제대로 전달했는지도 확인해 보시고요. 오타가 원인일 수도 있습니다.

 

  const views = {
    searchFormView: new SearchFormView(),
    searchResultView: new SearchResultView(),
    tabView: new TabView(),
    keywordListView: new KeywordListView(),
    historyListView: new HistoryListView(),
  };

  new Controller(store, views);
9488372님의 프로필 이미지
9488372

작성한 질문수

질문하기