樣式組件非常適合使CSS保持接近JavaScript組件,從而促進清潔和模塊化代碼。但是,多個組件的重複樣式可能導致不必要的代碼膨脹。本文探討了減少樣式組件冗餘的策略。
問題來自重複的CSS聲明,即使有輕微的差異。例如,Flexbox佈局經常涉及類似的代碼,僅在justify-content
或align-items
有所不同。為每種變體創建單獨的樣式組件會導致重複代碼。
考慮這種初始方法:
//組件一個 const componentOne = styplet.div` 顯示:Flex; 彈性方向:行; Jusify-content:Flex-Start; `; //組件兩個 const componenttwo = styplet.div` 顯示:Flex; 彈性方向:行; 正當:中間的空間; `; //組件三 const componentthree = styplet.div` 顯示:Flex; 彈性方向:行; 正當:空間; `;
這有效,但效率低下。更好的解決方案涉及擴展基本組件:
// flex行組件 const exampleflex = styplet.div` 顯示:Flex; 彈性方向:行; `; //組件一個 const commonentone =樣式(exampleflex)` Jusify-content:Flex-Start; `; //組件兩個 const componenttwo =樣式(exampleflex)`` 正當:中間的空間; `; //組件三 const componentthree =樣式(exampleflex)` 正當:空間; `;
這種方法更清潔,更可維護,並減少了代碼重複。更改對基本ExampleFlex
組件會自動傳播到所有擴展組件。請記住:必須在將其擴展之前定義基本組件。
通過識別不同UI元素的常見樣式可以進一步乾燥。例如,導航欄和頁腳可能會共享類似的Flexbox佈局,但對齊方式有所不同。代替單獨的組件,創建一個基本組件並將其擴展到每個特定需求。
as
道具提供了另一個功能強大的工具。它允許將樣式從一個組件應用於其他HTML元素。當UI元素共享視覺樣式,但具有不同的基礎功能(例如,按鈕和鏈接作為按鈕)時,這很有用。通過定義基本樣式並使用as
Prop,您可以重複使用樣式而無需複制代碼。
const button =樣式。 //通用按鈕樣式 `; const styledLink =樣式(button).attrs({as:'a'})`` //特定於鏈接的樣式(如果有) `;
總而言之,組合組件擴展名和as
Prop為編寫乾燥和可維護的樣式組件提供了強大的策略,從而導致較小的捆綁包大小和更容易的代碼維護。從策略性地將可重複使用的樣式提取到基礎組件中可以顯著提高代碼效率和長期可維護性。
以上是乾燥的樣式組件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Goofonts是由開發人員和設計師丈夫簽名的附帶項目,它們都是版式的忠實擁護者。我們一直在標記Google

學習如何構建GraphQL API可能具有挑戰性。但是您可以學習如何在10分鐘內使用GraphQL API!碰巧的是,我得到了完美的

這裡是Yuanchuan的一些合法CSS騙局。有此CSS屬性偏移路徑。曾幾何時,它被稱為Motion-Path,然後被更名。我


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器