三個原則
- single store
- render from top
- immutable data
single store,便于組件之間通信。
render from top,因為store就一個,每次修改后,從最頂層開始渲染,依賴DOM diff和人工shouldComponentUpdate判斷來提高渲染性能。
immutable data,當你使用第三方組件,為了防止他內部對你的single store進行黑箱子修改操作,所以你可以傳入immutable data給他。根據第三方組件的回調結果,自己來控制是否更改single store。
組件類型
通用基礎組件
兩種實現方式。
一,純依賴props(無state),可通過forceUpdate來更新自己。
二,有依賴state,通過componentwillreciveprops生命周期函數接受props,來更新state。
業務基礎組件
相當于業務樹的葉節點。如需復用,構建方式同通用基礎組件二。
業務路由組件
相當于業務樹的枝節點。也是業務基礎組件的容器。負責路由父組件的props給子組件(業務路由組件或業務基礎組件)。
增刪查改
方式一:
增
填寫數據,驗證數據,插入數據,重新查詢數據列表。刪
確認刪除,重新查詢數據列表。查
展現頁數,展現條數。實際就是對總頁數進行分頁。改
填寫數據,驗證數據,更新數據,重新查詢數據列表。
方式二:
適用于數據量不大的情況。
增刪查改,都使用同一套數據。
思考
樹
DOM用樹表達,樣式也可以用樹表達,那么組件UI狀態State,Store,Actions呢?
為什么都用樹表達?是為了一個組件的DOM,樣式,State,Store,Actions能互相對應。
五樹合一,網頁我有。業務組件的通信
因為是一個store,業務組件里也基本不會有props,state。直接從一個store里增刪查改數據,從而實現業務組件的通信。第三方組件
使用設計不當的第三方組件,小心它對你正常業務代碼的分離。
文章列表