const SumCalculator = () => {
const [number1, setNumber1] = useState(0);
const [number2, setNumber2] = useState(0);
const sum = useMemo(() => {
console.log('계산 중'); // 디펜던시의 값이 바뀌지않는이상 재실행이 없음
return number1 + number2;
}, [number1, number2]);
return (
<div>
<h2>더하기 계산기</h2>
<input
type="number"
value={number1}
onChange={(e) => setNumber1(parseInt(e.target.value))}
/>
<input
type="number"
value={number2}
onChange={(e) => setNumber2(parseInt(e.target.value))}
/>
<h3>결과: {sum}</h3>
</div>
);
};
number1
or number2
의 값이 바뀌지않는이상 useMemo
를 통하여 한번 계산된 값을 재사용함