티스토리 뷰

param이 undefined일 수도 있으니까 타입스크립트가 안된다고 한다... 한 번만 봐주라... 네가 봐주면 안 될까..? 🥲

const param: string | undefined
...
const param = useParams().id;
...
axios.get('../data/feeds.json').then((res) => {
  // param에 빨간줄
  setFeedData(res.data.feeds[param - 1]);
  setHeart(res.data.feeds[param - 1].is_liked || false);
  setSave(res.data.feeds[param - 1].is_marked || false);
});
...

 

The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.

산술 연산자 왼쪽엔 any, number, bigint만 됨! 😤


이유

undefined일 경우때문에 빨간 줄이 뜨는 것이므로 undefined가 들어오면 number로 형 변환이 될 수 있도록 해주면 된다.

...
const param = useParams().id;
...
axios.get('../data/feeds.json').then((res) => {
  setFeedData(res.data.feeds[Number(param) - 1]);
  setHeart(res.data.feeds[Number(param) - 1].is_liked || false);
  setSave(res.data.feeds[Number(param) - 1].is_marked || false);
});
...

 

 

참고 1

참고 2

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함