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;
};
반응형
'Frontend > React' 카테고리의 다른 글
[ 리액트(React) ] props, onClick, handleClick 자세하게 이해하기 (0) | 2021.05.15 |
---|---|
[ 자바스크립트(JS) ] 객체 변수에서 key를 기준으로 정렬하기 (0) | 2021.05.11 |
[ 리액트(React) ] atomic - 다른 컴포넌트에서 같은 기능 꺼내 쓰기 (0) | 2021.05.10 |
[ 리액트(React) ] 모바일화면이 벗어날 때 (0) | 2021.05.05 |
[ 리액트(React) ] Route에서 props 전달이 안될 때 (0) | 2021.04.28 |
댓글