
Virtual DOM 是現代前端開發中的關鍵概念,被 React 和 Vue.js 等框架用來最佳化 UI 的渲染流程。這些框架並非直接更新實際的 DOM,而是使用 DOM 的虛擬表示層,藉此提升效能與效率。
Virtual DOM 是儲存在記憶體中的實際 DOM 的副本,本身是一個 JavaScript 物件。當 UI 發生變化時,框架會先更新 Virtual DOM,然後再有效率地將必要的部分同步到真正的 DOM。
React 是最知名善用 Virtual DOM 的框架之一。
以下是一個簡單的 React component:
jsx1function Counter() { 2 const [count, setCount] = React.useState(0); 3 return ( 4 <div> 5 <p>Count: {count}</p> 6 <button onClick={() => setCount(count + 1)}>Increment</button> 7 </div> 8 ); 9}
當 setCount 觸發 state 更新時,React 會:
| Feature | Virtual DOM | Real DOM |
|---|---|---|
| Performance | 更新較快 | 更新較慢 |
| Complexity | 由框架自動處理 | 需手動維護 |
| Efficiency | 最小化重新渲染 | 可能整個重新渲染 |
Virtual DOM 是現代前端框架的重要創新,透過改善效能與簡化 UI 更新流程,讓開發者能建立更高效、可擴展的 Web 應用程式。理解它的運作方式能幫助我們寫出更穩定與效能更佳的前端程式碼。