React
https://pbs.twimg.com/media/GNNZGf1bIAAMl7u.png
React的特徵
特化於View
React不是MV*框架
因此官方自稱為library
可快速開發,但View層外的設計需由開發者構思
日後認為應用不需要到MV*架構的設計
而是如Router、Data Fetching、狀態管理等等功能 元件導向
React應用由元件組成
不需要Model或Controller
元件包含
負責顯示的邏輯或事件處理器
狀態
內容
元件可以持有子元件
是種語法擴充,與React互相獨立
不使用JSX亦可使用React,反之亦然
記述what
如果選擇中的分頁為第n個,則顯示XXX
UI以單一狀態定義
UI = f(state)
記述how
每次狀態改變都會重新執行元件、建構DOM
Component = (state) => DOM
類似傳統SSR的樣板
實際的DOM處理很慢
React使用JS物件構築虛擬的DOM
Component = (state) => VDOM
更新時會和上次算繪的虛擬DOM做比較
只更新有修改到的部份
並不是「虛擬DOM比較快」,而是「不會變得太慢」
Learn Once, Write Anywhere
use()