react

[react] useState()

beaksul 2022. 11. 16. 21:49

1. props와 state 차이

 

props는 매개변수처럼 컴포넌트에 전달되고 read-only이므로 변경할 수 없는 반면,

state는 함수 내에 선언된 변수처럼 컴포넌트 안에서 관리되고 컴포넌트 내부에서 변경이 가능하다.

state는 컴포넌트 내에서 지속적으로 변경이 일어나는 값을 관리하기 위해 사용된다.

 

 

2. useState()

 

기본 형태

const [값, 값에 적용할 함수] = useState(초기값);

Function App() {
  const [number, setNumber] = useState();

  return (
    <div className="App">
      <header>
        <span>{number}</span>
      </header>
    </div>
  );
}

 

 

3. state 변경하기

 

Function App() {
  const [number, setNumber] = useState();

  return (
    <div className="App">
      <header>
        <span>{number}</span>
        <h1><a href='#' onClick= {() => setNumber(number + 1)}>누르세요!</a></h1>
      </header>
    </div>
  );
}

a태그를 클릭할 때마다 number의 값이 1씩 증가한다.

 

function APP() {
  const [counter, setCounter] = useState(0);
  const onClick = () => {
    // setCounter(counter + 1);
    setCounter((current) => current + 1);
    // 현재 state를 불러와서 + 1 해줌
  }
  return (
    <div>
      <h3>total clicks : {counter}</h3>
      <button Onclick={onClick}>click me</button>
    </div>
  );
}

 

이전 상태는 prevState를 사용하면 알아서 이전 값을 인식한다.