[[상태 관리 최적화 (Zustand, Valtio)|상태 관리 최적화 (Zustand, Valtio)]]
📌 Brief Summary
Optimizing state management involves choosing the right tool for the specific reactivity needs of the application. Libraries like Zustand (Action-based) and Valtio (Proxy-based) offer different paradigms to reduce boilerplate and minimize re-renders compared to traditional solutions like Redux or React Context.

📖 Core Content
* **Zustand (Atomic/Simplistic):**
    * Uses a hook-based approach where state is externalized from React.
    * Allows for "selective rendering" by specifying exactly which parts of the state a component should listen to.
    * Very low boilerplate; no providers needed.
* **Valtio (Proxy-based/Mutative):**
    * Uses JS Proxies to track mutations. You can "mutate" state like regular objects, and Valtio automatically tracks which components need to re-render.
    * Extremely high performance for "real-time" updates where nested state needs to be updated deeply.
* **Selection Criteria:**
    * Use **Zustand** when you need predictable actions and a clear unidirectional flow for business logic.
    * Use **Valtio** when the developer experience of direct mutation is preferred or for state that updates frequently (e.g., game UI properties).
* **Optimization Patterns:**
    * **Externalize heavy state:** Keeping ephemeral or high-frequency state (e.g., scroll position) in a Zustand store rather than React's `useState`.
    * **Transient Updates:** Updating store values without triggering a React render (reading directly via `api.getState()`).

🔗 Knowledge Connections
* Related Topics: [[React 상태 관리 (React State Management)|React 상태 관리 (React State Management)]], [[Redux 등 상태 관리 (State Management)|Redux 등 상태 관리 (State Management)]], [[Reactive-Programming|Reactive-Programming]]
* Projects/Contexts: Skybound Protocol UI, Skybound Mission Persistence
* Contradictions/Notes: Proxy-based state (Valtio) can sometimes hide where updates are coming from, making debugging harder in large teams if strict conventions aren't followed.

Last updated: 2026-04-18
