我遇到了ReactJS Boilerplate,它有很好的代表並且是社區驅動的。 樣式部分更強調樣式化組件CSS,但從未停止切換到傳統的CSS樣式化方法。儘管這引起了我對Styled-Component CSS脫穎而出的興趣,爲什麼需要採用它。樣式組件CSS是比SASS還是LESS更好的選擇?
我的Styled component CSS理解:
- 組件驅動期清初。你的CSS現在也是一個組件。 - 這很酷!
- 加載你需要什麼,當你需要的,有點懶CSS
- 主題提供商,皮膚,模塊化和動態 - 這可以通過其他庫太
- 服務器端建設的組成部分DOM和它的樣式來實現。
我的問題是:
瀏覽器的演變分別從Javascript 解析解析CSS,爲什麼我們試圖從這個偏離,適合所有 的Javascript?
樣式化成分CSS船舶的JavaScript庫的客戶端, 這實際上是在運行時解析風格,並把裏面
<style />
標籤時按需每個組件的負荷。這意味着額外的負載 和邏輯最終有助於瀏覽器的執行週期。 爲什麼需要這個?(通過上述的問題,我的意思是用於裝載相應的CSS被計算並創建並經由
style
標籤/多樣式標記插入頭的每個組件 - 重新發明了CSS口譯)是否連續計算樣式通過
<style />
在 head標籤中導致瀏覽器重排/重繪?我從中得到的性能優勢是什麼?
社區,請爲我清除空氣或糾正我,如果我錯了。
一些好的文章,談到重繪或DOM再流是怎麼回事性能昂貴瀏覽器時CSS樣式修改。
- https://developers.google.com/speed/articles/reflow
- http://www.stubbornella.org/content/2009/03/27/reflows-repaints-css-performance-making-your-javascript-slow/
- https://www.sitepoint.com/10-ways-minimize-reflows-improve-performance/
- https://www.phpied.com/rendering-repaint-reflowrelayout-restyle/
- https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model/Using_dynamic_styling_information
在樣式化的組件中添加CSS會失去其C-級聯 –