마지막 input 변경 이후 console.log 출력
3초 타이머 ui 포함하기
import React, { useEffect } from 'react';
const App = () => {
const [value, setValue] = React.useState('');
return (
<input
type='number'
onChange={(e) => { setValue(e.target.value); }}
/>
);
}
export default App;
import React, { useEffect } from 'react';
const App = () => {
const [value, setValue] = React.useState('');
const [number, setNumber] = React.useState(0);
useEffect(()=>{
setNumber(0);
const start = setInterval(()=>{
setNumber(prevNumber => prevNumber + 1)
}, 1000);
const showAlert = setTimeout(()=>{
console.log(value);
clearInterval(start);
},3000)
return () => {
clearTimeout(showAlert);
clearInterval(start);
}
}, [value])
return (
<>
<input type="text" onChange={(e) => {setValue(e.target.value)}} />
<br />
{3 - number}
</>
);
}
export default App;
const memoizedValue = useMemo(
() => {
//연산량이 높은 작업을 수행하여 결과를 반환
return computeExpensiveValue(의존성 변수1, 의존성 변수2);
},
[의존성 변수1, 의존성 변수2]
);
const memoizedCallback = useCallback(
() => {
doSomething(의존성 변수1, 의존성 변수2);
},
[의존성 변수1, 의존성 변수2]
);