본문으로 바로가기
COMMUNITY모든 이야기

useState로 숫자를 올리는데 값이 1씩만 올라가고 안 바뀌어요

빗방울 2026.10.30 16:52 2분 읽기 조회 9

면접 준비하면서 간단한 카운터 기능을 만들고 있는데, 버튼을 빠르게 누르면 숫자가 이상하게 올라가요.

코드:

import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  const increase = () => {
    setCount(count + 1);
    setCount(count + 1);
    setCount(count + 1);
  };

  return (
    <div>
      <p>{count}</p>
      <button onClick={increase}>증가</button>
    </div>
  );
}

export default Counter;

오류: setCount를 세 번 썼으니까 한 번 클릭에 3이 더해져야 하는데, 계속 1만 더해져요.

시도: setCount 코드를 여러 줄 적어봤고, 새로고침도 해봤는데 똑같아요.

질문: 왜 setCount를 여러 번 호출해도 마지막에 한 번만 적용되는 것처럼 작동하는 건가요?

모든 이야기1455

가벼운 안부부터 깊은 생각까지, 함께 나눠요.

글쓰기
총 1455개의 이야기
댓글