09. 사용 사례 시나리오 3: Valtio
🔖 1. Valtio란?
특장점
예시 코드
import { proxy, useSnapshot } from 'valtio';
// 1. 상태 정의: Proxy로 상태를 감싸는 proxy 함수를 사용
const state = proxy({
count: 0,
text: 'Hello',
});
// 2. 상태를 읽고 변경하는 컴포넌트
function Counter() {
// useSnapshot으로 현재 상태 스냅샷 얻기
const snap = useSnapshot(state);
return (
<div>
<p>Count: {snap.count}</p>
<button onClick={() => state.count++}>+1</button>
</div>
);
}
function TextDisplay() {
const snap = useSnapshot(state);
return (
<div>
<p>Text: {snap.text}</p>
<button onClick={() => (state.text = state.text + '!')}>Add "!"</button>
</div>
);
}
export default function App() {
return (
<div>
<h1>Valtio Example</h1>
<Counter />
<TextDisplay />
</div>
);
}🔖 2. 언제 Valtio를 사용하면 좋을까?
언제 Valtio를 사용하면 좋을까?
언제 Valtio를 사용하지 않는 것이 좋을까?
Last updated