React/이론

State(useState)

2주녘 2023. 8. 31. 21:12
반응형

State


리액트에서는 화면에 표시하는 데이터나 길이가 변하는 상태 등을 모두 State로 관리합니다.

웹 애플리케이션을 만들 때 화면은 다양한 상태를 가집니다. 예시는 다음과 같습니다.

  • 에러가 있는가?
  • 모달 창을 열고 있는가?
  • 버튼을 클릭했는가?
  • 텍스트 박스에 무언가를 입력했는가?

이와 같이 '상태'는 모두 State로 관리하며 이벤트가 실행되는 경우 등에 업데이트 처리를 수행함으로써 동적 애플리케이션을 구현합니다.

 

useState


useState는 리액트 안에서 제공되므로 사용할 때는 import해야 합니다.

 

import { useState } from "react";

useState 함수 반환값은 배열형태로 되어 있습니다. 첫번째에 State 변수, 두번째에 State를 업데이트하기 위한 함수가 설정됩니다.

 

  // State 정의
  const [변수명, set변수명] = useState(초기값);

버튼 클릭시 카운트업하는 기능을 구현해보겠습니다.

 

import { ColoredMessage } from "./components/ColoredMessage";
import { useState } from "react";

export const App = () => {
  // State 정의
  const [num, setNum] = useState(0);
 
  // 버튼 클릭 시 state를 카운트 업
  const onClickButton = () => {
    setNum(num + 1);
  };

 

 

  return (
    <>
      <h1 style={{ color: "red" }}>안녕하세요</h1>
      <ColoredMessage color="blue" message="잘 지내시죠?" />
      <ColoredMessage color="pink" message="잘 지냅니다!" />
      <button onClick={onClickButton}>버튼</button>
      {/* 아래에 카운트 변수 추가 */}
      <p>{num}</p>
    </>
  );
};

export default App;

반응형