본문 바로가기
React/개념

Usestate

by hihijh826 2025. 1. 3.
728x90
반응형
SMALL

useState는 React의 Hook 중 하나로, 함수형 컴포넌트에서 상태를 관리하는 데 사용됩니다.

상태를 추가하고 업데이트할 수 있는 간편한 방법을 제공합니다.

1. 기본 개념

  • 상태(State): 컴포넌트의 동적인 데이터를 관리하며, 상태가 변경되면 컴포넌트가 다시 렌더링됩니다.
  • Hook: React 16.8부터 도입된 기능으로, 함수형 컴포넌트에서 상태 및 생명주기 기능을 사용할 수 있게 해줍니다.

2. 사용법

useState를 사용하려면 React에서 임포트해야 하며, 다음과 같은 형태로 사용합니다.

import React, { useState } from 'react';

const MyComponent = () => {
  const [state, setState] = useState(initialValue);

  // ...
};

  • initialValue: 상태의 초기값을 설정합니다. 이 값은 컴포넌트가 처음 렌더링될 때 사용됩니다.
  • state: 현재 상태의 값입니다.
  • setState: 상태를 업데이트하는 함수입니다. 이 함수를 호출하면 상태가 변경되고 컴포넌트가 다시 렌더링됩니다.

3. 상태 업데이트

상태를 업데이트할 때는 setState를 사용합니다. 이 함수는 새로운 상태 값을 인자로 받아 상태를 변경합니다.

const handleClick = () => {
  setState(newValue); // 상태를 newValue로 업데이트
};

4. 함수형 업데이트

상태를 이전 상태를 기반으로 업데이트할 필요가 있을 때는 함수형 업데이트를 사용할 수 있습니다. 이 방법은 상태의 현재 값을 인자로 받아 새로운 값을 반환하는 함수를 setState에 전달합니다.

setState(prevState => {
  return { ...prevState, newProperty: newValue }; // 이전 상태를 기반으로 업데이트
});

5. 배열 및 객체 상태

useState를 사용하여 배열이나 객체를 상태로 관리할 수 있습니다. 이 경우에는 불변성을 유지해야 하므로, 상태를 업데이트할 때는 기존 상태를 복사한 후 변경해야 합니다.

배열 상태 예시

const [items, setItems] = useState([]);

const addItem = (newItem) => {
  setItems(prevItems => [...prevItems, newItem]); // 새로운 아이템 추가
};

객체 상태 예시

const [user, setUser] = useState({ name: '', age: 0 });

const updateUser = (newData) => {
  setUser(prevUser => ({ ...prevUser, ...newData })); // 사용자 정보 업데이트
};

6. 요약

  • useState는 함수형 컴포넌트에서 상태를 관리하는 데 사용됩니다.
  • 초기값을 설정하고, 현재 상태와 상태를 업데이트하는 함수를 반환합니다.
  • 상태를 업데이트할 때는 setState를 사용하며, 이전 상태를 기반으로 업데이트할 수 있는 방법도 제공합니다.
  • 배열이나 객체와 같은 복잡한 상태를 관리할 때는 불변성을 유지해야 합니다.

이렇게 useState를 사용하면 React 컴포넌트 내에서 상태를 효율적으로 관리할 수 있습니다. 추가적인 질문이나 도움이 필요하시면 언제든지 말씀해 주세요!

728x90
반응형
LIST

'React > 개념' 카테고리의 다른 글

새로운 창으로 띄우기  (0) 2025.02.11
리액트 Hook  (0) 2025.01.03
index.js 파일의 역할  (0) 2024.12.17
JSON SERVER  (0) 2024.10.25
API  (0) 2024.10.25