Frontend/React
[ 리액트(React) ] props로 전달한 파라미터가 정상적으로 함수에 적용되지 않을 때
YWTechIT
2021. 4. 28. 20:15
728x90
⚡️ 구현 팁
props
로 전달받은 값들을 새로운 함수를 거쳐서 나올 때 의도한 대로 동작하지 않으면 다음을 확인해보자.
- 함수 안에
props
를 바로 적용하진 않았나? - (X) - 컴포넌트 안에 함수를 선언하고
props
로 받은 값들을 파라미터로 넣었는가? - (O)
💡 배운 점: 테스트코드의 중요성
이와 같은 문제가 생기지 않기 위해 기능별로 잘라 단계적으로 실행해보면 실패를 줄일 수 있다.
- 해당 함수만 따로
console.log
에 옮겨서 내부 기능을 먼저 테스트해본다. - 함수 내부적으로 문제가 없다면
props
에서 받은 변수를 함수에 넣어본다. - 어디에서 잘못됐는지 확인한다.
// 공통 실행코드
const Loading = ({ shortPower, longPower }) => {
const eFunction = getCode(shortPower, longPower);
}
// 1. (X)
const getCode = ({ shortScore, longScore }) => {
let cCode;
if (shortScore <= 30 && longScore <= 50) {
cCode = "engineer";
} else if (shortScore <= 60 && longScore <= 50) {
cCode = "information";
} else if (60 < shortScore && longScore < 50) {
cCode = "infantry";
} else if (shortScore < 30 && 50 < longScore) {
cCode = "communication";
} else if (shortScore < 60 && 50 < longScore) {
cCode = "armor";
} else {
cCode= 'artillery'
}
return cCode;
};
};
// 2. (O)
const getCode = (short, long) => {
let cCode;
if (short <= 30 && long <= 50) {
cCode = "engineer";
} else if (short <= 60 && long <= 50) {
cCode = "information";
} else if (short > 60 && long <= 50) {
cCode = "infantry";
} else if (short <= 30 && 50 <= long) {
cCode = "communication";
} else if (short <= 60 && 50 <= long) {
cCode = "armor";
} else {
cCode = "artillery";
}
return cCode;
};
반응형