基礎(chǔ)組件
它應該是和業(yè)務無關(guān)的,只負責渲染給入的數(shù)據(jù)。比如按鈕是一個組件,可能有參數(shù)決定了它的尺寸,有參數(shù)決定了它是否可以點擊,但是點擊這個按鈕之后會發(fā)生什么,就不是按鈕這個組件需要知道的事情了。
業(yè)務組件
對內(nèi)來看,它自己持有一些數(shù)據(jù)和方法,用來決定渲染和行為,對外又是一個簡單的props接受數(shù)據(jù),里面可以包含若干基礎(chǔ)組件。
HTML5 的一些語義標簽,其實天然就是組件,例如頭部,腳部,導航欄,側(cè)邊欄,這些我們稍加改造就可以成為獨立的模塊組件。
頁面組件
按路由劃分,可以由若干模塊組件和一些基礎(chǔ)組件構(gòu)成,類似傳統(tǒng)網(wǎng)站的分頁。
劃分的3個關(guān)鍵點:
1.完整組件方案:將組件視為一個獨立的產(chǎn)品,從多維度,多場景輸出組件的方案和組合標準。
2.組件化思維:從需求出發(fā),拆解頁面表達結(jié)構(gòu)和所需組件。
3.通用頁面規(guī)則:通用的頁面與組件的柵格體系及替換規(guī)則。