Pete Hunt from Instagram Web Team.
**What makes UI hard?**
最難的是管理所有使用者的狀態 ( state ),更可怕的是隨時間改變的狀態。然後 Unit Test 不能完全測試 UI 的所有情況 ( 太多例外 )、靜態分析 ( JSLint / JSHint ) 也不行。因為這樣的複雜度,我不曾試著讓 UI 完全正確。我只是試著讓 UI 變得可預測。
Two silver bullet:
1\. Composition: 讓簡單的 function 組合成更大的 function。
2\. Idempotence: 讓每次同樣的 Input 得到同樣的 Output。不變性 ( Immutability ) 的資料結構讓我免費得到 Idempotence。努力讓 mutable state 的數量越少越少,mutable state只有一個owner。
React.js 讓工程師照著上面的兩個規則。
React 是 宣告式的 ( declarative ) JQuery。
**
****React**
> Data 輸入 => virtual DOM 輸出。
> 當資料改變的時候,就整個重繪,所以少掉很多 State。
**Demo Example (從15- 分)**
Demo on jsfiddle.net jsbin.com
一直在看Code