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 |