온도나 좌표 같은 값이면 모를까,
음수 값은 예기치 않는 버그나 오류를 발생시킬 수 있고
계산을 복잡하게 해서 프로그래밍에서는 음수값을 피하는 경우가 많다.
카운트 값을 감소하는 함수에서 음수값이 나오지 않도록 하는 방법을 알아보자.
1. 조건문
조건문을 사용해 count가 0보다 클 때만 setCount를 호출하여 값을 감소시키기
const decreaseCount = () => {
if(count > 0){
setCount(count - 1);
}
};
2. 삼항 연산자
삼항 연산자를 사용하여 0보다 크면 감소시키고 아니면 0으로 만들기
const decreaseCount = () => setCount(count > 0 ? count - 1 : 0);
3. Math.max()
setCount에 값을 전달하기 전에 Math.max()메서드를 사용해 미리 확인하고 값을 전달하기.
Math.max()는 주어진 인수 중 가장 큰 값을 반환한다.
그래서 아래처럼 사용하면 count-1이 음수가 되어도 0을 반환한다.
const decreaseCount = () => {
const newCount = Math.max(count - 1, 0);
setCount(newCount);
};
'02_STUDY > React' 카테고리의 다른 글
[ React ] 함수형 컴포넌트의 렌더링은 'null'을 반환하여 막는다. (0) | 2023.08.28 |
---|---|
[ React ] 클래스 컴포넌트와 함수형 컴포넌트의 이벤트 핸들러 비교 (0) | 2023.08.28 |
[ React ] 리액트 함수형 컴포넌트의 훅 Hook에 대해서 ( useState, useEffect, useContext, useMemo, useCallback, useRef ) (0) | 2023.08.10 |
[ React ] 리액트 컴포넌트의 생명주기 ( mount → update → unmount ) (0) | 2023.08.08 |
[ React ] 컴포넌트 상태 관리 :: State란, 왜 setState()로 state를 변경해야 할까? (0) | 2023.08.08 |