[React] isNaN() 정리
발생한 문제
Spring에서 별점 평균을 불러와 별점이 없을 경우 0을 반환하고
별점이 있을 경우 반올림하여 표시하려고 했다.
그러나
const loadAvgstar =(num)=>{
axios.get('/matzip/avgStar/'+num)
.then((resp)=>{
console.log(resp.data)
if(resp.data === null){
return 0;
// 소수 첫째자리에서 반올림
}else{
return setAvgstar(resp.data.toFixed(1));
}
})
}
이런식으로 resp.data가 null이라면 0을 return하라고 하니 오류가 났다.
문제를 확인하고자 resp.data를 콘솔에 찍어보니
NaN ???
null은 자주 봤어도 NaN은 처음 보는 결과라 당황했다.
해결
아래 코드와 같이 isNaN(resp.data)를 해주니 정상적으로 작동했다.
const loadAvgstar =(num)=>{
axios.get('/matzip/avgStar/'+num)
.then((resp)=>{
console.log(resp.data)
// resp.data가 NaN이면 0을 return
if(isNaN(resp.data)){
return 0;
// 소수 첫째자리에서 반올림
}else{
return setAvgstar(resp.data.toFixed(1));
}
})
}
Author And Source
이 문제에 관하여([React] isNaN() 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sdh4716/React-isNaN-정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)