2. useState with setTimeout

다음 컴포넌트는 버튼을 누르고 3초 뒤에 count값을 출력한다.

function Counter() {
  const [count, setCount] = useState(0);
 
  function handleAlertClick() {
    setTimeout(() => {
      console.log("count = " + count);
    }, 3000);
  }
 
  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}> increase count </button>
      <button onClick={handleAlertClick}> console.log </button>
    </div>
  );
}

다음의 과정을 실행하면, 콘솔에서 보이는 count 값은 얼마인가?

  • count를 3으로 증가시킨다.
  • "console.log" 버튼을 누른다.
  • 타임아웃이 실행되기 전에 count를 5로 증가시킨다.