js 내장 객체 async, awiat, fetch이용한다.
const getDate = async () => {
const res = await fetch(`https://jsonplaceholder.typicode.com/comments`).then((res) => res.json());
});
};
const initDate = res.slice(0, 20).map((it) => {
return {
author: it.eamil,
content: it.body,
emotion: Math.floor(Math.random() * 5) + 1,
// 호출한 API에 감정점수를 대체할 만한 것이 없어 1~5사이의 랜덤한 수가 나타나게 했음
created_date: new Date().getTime(),
//현재 시간을 milliseconds로 변환
id: dataId.current++,
//id값은 증감하도록 해서 겹치는 수가 나오지 않도록 한다.
}
splice
를 이용해 자른다.map()
함수를 이용해 각 요소를 순회하면서 데이터들을 우리가 원하는 데이터로 가공시킨다.setData(initDate);
setData
함수를 이용해 data의 값을 변화시킨다.
API 데이터는 랜더링 하는 순간에 데이터를 불러오고 가공하여 화면에 나타나도록 처리하기 위해서는 useEffecet를 이용해 mount순간에 동작하도록 해야 한다.
useEffect(() => {
getDate();
}, [])
함수 호출!