state ( 상태 관리 )
state관리 하는 몇가지 방법이 있다. 안에서
props 컴포넌트에
let count = 0; // 초기 상태
function increment() {
count++; // 상태 업데이트
console.log(count);
}
increment(); // 출력: 1
increment(); // 출력: 2
let user = {
name: 'John',
age: 30,
isLoggedIn: false
};
// 상태 업데이트
user.age = 31;
user.isLoggedIn = true;
let count = 0; // 초기 상태
function increment() {
count++; // 상태 업데이트
}
function decrement() {
count--; // 상태 업데이트
}
increment(); // count: 1
decrement(); // count: 0
function createCounter() {
let count = 0; // 비공개 상태
return {
increment: function() {
count++;
return count;
},
decrement: function() {
count--;
return count;
},
getCount: function() {
return count;
}
};
}
let counter = createCounter();
counter.increment(); // 반환: 1
counter.increment(); // 반환: 2
counter.decrement(); // 반환: 1
typescript에서의 useState 이용 방법.
React라이브러리에서 상태관리를 위한 훅(hook).
주의점 : 값이 불변해야 한다.
간단한 예시
import React, { useState } from 'react';
const Counter: React.FC = () => {
// 여기 코드에서 <number> 이라는 타입 정의를 해주었다.
const [count, setCount] = useState<number>(0);
// click함수
const handleClick = () => {
setCount(count + 1);
};
return (
<div>
<p>Count: {count}</p>
<button onClick={handleClick}>Increment</button>
</div>
);
};
export default Counter;
위 코드에서 처럼 보통 count의 값을 바꾸는것이 아닌 setCount의 값을 바꿔준다.
타입 정의 같은경우는
interface 변수명 {
name : string,
age : number
}
interface를 사용하는 방법도 있다.
컴포넌트는 사용자 인터페이스를 구성하는 빌딩블록.
2가지 컴포넌트가 있는데