useState란?
함수형의 리액트인 Hook에 속함 함수로 React 16.8 부터 사용 가능하다.
주로 자신 컴포넌트가 유동적으로 변경될 값을 관리할 때 사용한다.
useState를 사용하기 위해선 import를 필수로 해주어야한다.
import { useState } from "react";
기본적인 문법은 다음과 같다.
function 컴포넌트(props) {
const [값변수, 값변경함수] = useState(기본값);
const 값변경함수 = () => {
//변경될 코드
}
return(
<></>
);
}
[useState를 사용하지 않은 예제]
import './App.css';
function App() {
let title = "이름";
function change() {
const newTitle = title === "이름" ? "리액트 스터디 화이팅!" : "이름";
document.getElementById("title").innerText = title;
}
return (
<div className="App">
<h1 id="title">{title}</h1>
<button onClick={change}>타이틀 바꾸기</button>
</div>
);
}
export default App;
[useState를 사용한 예제 - 1]
import './App.css';
import {useState} from "react";
function App() {
const [title, setTitle] = useState("이름"); // 달라진 곳
function change() {
const newTitle = title === "이름" ? "리액트 스터디 화이팅!" : "이름";
setTitle(newTitle); // 달라진 곳
}
return (
<div className="App">
<h1 id="title">{title}</h1>
<button onClick={change}>타이틀 바꾸기</button>
</div>
);
}
export default App;
[useState를 사용한 예제 - 2]
import './App.css';
import {useState} from "react";
function App() {
const [title, setTitle] = useState("이름");
function change() {
setTitle(title === "이름" ? "리액트 스터디 화이팅!" : "이름"); // 달라진 곳
}
return (
<div className="App">
<h1 id="title">{title}</h1>
<button onClick={change}>타이틀 바꾸기</button>
</div>
);
}
export default App;
[useState를 사용한 예제 - 3]
import './App.css';
import {useState} from "react";
function App() {
const [title, setTitle] = useState("이름");
return (
<div className="App">
<h1 id="title">{title}</h1>
<button onClick={()=>{
title === "이름" ? "리액트 스터디 화이팅!" : "이름"} // 달라진 곳
}>타이틀 바꾸기</button>
</div>
);
}
export default App;
브라우저 결과
버튼을 계속 클릭하면 두 값이 계속 바뀐다.
'Group Study (2021-2022) > React' 카테고리의 다른 글
[React] 5주차 스터디 - react-bootstrap (0) | 2021.11.08 |
---|---|
[React]4주차 스터디- react-router-dom (0) | 2021.10.29 |
[React] 3주차 스터디 - props (0) | 2021.10.16 |
[React] 3주차 스터디 - Component (0) | 2021.10.15 |
[React] 2주차 스터디 - Event (1) | 2021.10.10 |