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

정윤경님의 프로필 이미지
정윤경

작성한 질문수

자바스크립트 : 기초부터 실전까지 올인원

타임즈 render 부분 질문

작성

·

318

0

안녕하세요! 타임즈 뉴스 만들기 부분에서 render 함수 짜고 있는데 자꾸

map 관련 오류가 뜹니다... 콘솔에 아래와 같이 찍혀요...

데이터만 불러오면 자꾸 같은 오류가 나서 렌더링이 잘 안되는데 어떻게 해결할 수 있나요?

main.js:17 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'map')

let news = []
const getLastNews = async () => {
  let url = new URL('https://api.newscatcherapi.com/v2/latest_headlines?countries=KR&topic=business&page_size=10'
  );
  let header = new Headers({"x-api-key" : "TXFw8gmdafTvdz_B53fry7i7yuJesOf5fWWhu5EZdyQ",
});

  let response = await fetch(url,{ headers:header });
  let data = await response.json();

  news = data.articles
  render()
};

const render = () => {
  let newsHTML = "";
  newsHTML = news.map((news) => {
    return `<div class="row news">
    <div class="col-lg-4">
    <img class="news-image" src="${news.media}"/>
    </div>
    <div class="col-lg-8">
      <h2>${news.title}</h2>
      <p>
        내용
      </p>
      <div>
        출처
      </div>
    </div>
  </div>`;
  }).join('');
  document.querySelector('#news-board').innerHTML = newsHTML;
}
getLastNews() 

 

 

답변 1

0

해당 에러는 어레이가 아니거나 값이 없는데 map을 하면 나는 에러입니다

news에 값이 잘 들어가있는지 확인해주세요!

추가적인 질문은 제 슬랙채널에서 부탁드립니다!

https://join.slack.com/t/w1631756876-zfv299364/shared_invite/zt-w5yxap8g-~_Exi5lOwfw_N6a1T5djmg

정윤경님의 프로필 이미지
정윤경

작성한 질문수

질문하기