最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

styled-components?性能詳解

 更新時(shí)間:2023年01月28日 08:45:29   作者:天行無忌  
這篇文章主要為大家介紹了styled-components?的性能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

styled-components 是一個(gè)流行的 React 庫,一個(gè) CSS in JS 樣式框架,它使用 JavaScript 中的標(biāo)記模板字面量和 CSS 的強(qiáng)大功能來提供一個(gè)平臺(tái),允許編寫實(shí)際的 CSS 來設(shè)置 React 組件的樣式,同時(shí)兼顧開發(fā)人員體驗(yàn)和性能。

基本上是在編寫 CSS,但使用的是 Javascript。實(shí)際上可以命名自己的標(biāo)簽,以便更容易識(shí)別它們??梢允褂?Javascript 更改屬性的值,這非常適合具有動(dòng)態(tài)內(nèi)容的應(yīng)用程序。

官方網(wǎng)站:styled-components.com/

下面是一段使用的代碼:

const Button = styled.a`
  /* This renders the buttons above... Edit me! */
  display: inline-block;
  border-radius: 3px;
  padding: 0.5rem 0;
  margin: 0.5rem 1rem;
  width: 11rem;
  background: transparent;
  color: white;
  border: 2px solid white;
  /* The GitHub button is a primary button
   * edit this to target it specifically! */
  ${props => props.primary && css`
    background: white;
    color: black;
  `}
`

styled-components 的痛點(diǎn)

  • 一個(gè)額外的包裹
  • 更大的 JS 包
  • 影響 CSS 性能(特定環(huán)境)
  • CSS文件和JS文件的處理方式不一樣

現(xiàn)在使用谷歌瀏覽器開發(fā)工具 Lighthouse 來對(duì)比一下樣式組件性能和模塊化CSS的性能。測(cè)試的環(huán)境將模擬安卓環(huán)境、網(wǎng)絡(luò)設(shè)置為慢速3G模式、CPU設(shè)置為 4 核。

開始之前先簡(jiǎn)單介紹幾個(gè)前端性能指標(biāo):

  • FCP:First Contentful Paint 首次內(nèi)容繪制,指瀏覽器渲染出第一個(gè)內(nèi)容的時(shí)間,內(nèi)容可以是文本、img標(biāo)簽、SVG元素等,但是不包括 iframe 和白色背景的 Canvas 元素。
  • SI:Speed Index 首屏展現(xiàn)平均值,這是 Lighthouse 的六項(xiàng)性能指標(biāo)之一。
  • LCP:Largest Contentful Paint 最大內(nèi)容繪制,指可視區(qū)內(nèi)容最大的可見元素出現(xiàn)在屏幕上的時(shí)間,衡量加載性能的核心指標(biāo)。
  • TTI:Time to Interactive 可交互時(shí)間,該指標(biāo)用于測(cè)量頁面從開始加載到主要子資源完成渲染,并能夠快速、可靠地響應(yīng)用戶輸入所需的時(shí)間。

styled-components 性能

  • 平均性能范圍:13809 毫秒
  • FCP:2.2
  • SI:9.1
  • LCP:13.1
  • TTI:13.2

模塊化 CSS 性能

  • 平均性能范圍:8995 毫秒
  • FCP:2.1
  • SI:7.6
  • LCP:12
  • TTI:12.5

從上述兩組數(shù)據(jù)看到,在平均性能范圍內(nèi),styled-components 節(jié)省了 4814 毫秒!考慮到 CSS 規(guī)則根本沒有改變這一事實(shí),速度指數(shù)和其他指標(biāo)的提升也相當(dāng)大。上述性能數(shù)據(jù)是有一定的前提環(huán)境,但從官方的介紹來看,整體性能還是不錯(cuò)的。

結(jié)論

可以在 React 中使用這兩種技術(shù)并創(chuàng)建令人驚嘆的WEB應(yīng)用,這只是為正確的工作選擇正確的工具的問題。如果有一個(gè)高度可定制的儀表板將代碼庫更改為模塊化 CSS 可能沒有意義。然而,如果用戶來自移動(dòng)設(shè)備,建議嘗試看看WEB應(yīng)用使用模塊化 CSS 的速度有多快。最終選用什么方式還有其他的決定因素,性能只是其中之一。

以上就是styled-components 性能詳解的詳細(xì)內(nèi)容,更多關(guān)于styled-components 性能的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • react中如何對(duì)自己的組件使用setFieldsValue

    react中如何對(duì)自己的組件使用setFieldsValue

    react中如何對(duì)自己的組件使用setFieldsValue問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Hello?React的組件化方式之React入門小案例演示

    Hello?React的組件化方式之React入門小案例演示

    這篇文章主要介紹了Hello?React的組件化方式-React入門小案例,本文通過Hello?React的案例,?來體驗(yàn)一下React開發(fā)模式,?以及jsx的語法,需要的朋友可以參考下
    2022-10-10
  • 詳解React中函數(shù)式組件與類組件的不同

    詳解React中函數(shù)式組件與類組件的不同

    React?函數(shù)式組件與類組件的主要區(qū)別在于它們的定義和聲明方式以及它們之間的一些特性,所以本文就詳細(xì)的給大家講講React中函數(shù)式組件與類組件有何不同,需要的朋友可以參考下
    2023-09-09
  • React路由動(dòng)畫切換實(shí)現(xiàn)過程詳解

    React路由動(dòng)畫切換實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了react-router 路由切換動(dòng)畫的實(shí)現(xiàn)示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2022-12-12
  • 解決React報(bào)錯(cuò)React?Hook?useEffect?has?a?missing?dependency

    解決React報(bào)錯(cuò)React?Hook?useEffect?has?a?missing?dependency

    這篇文章主要為大家介紹了解決React報(bào)錯(cuò)React?Hook?useEffect?has?a?missing?dependency,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • React/Redux應(yīng)用使用Async/Await的方法

    React/Redux應(yīng)用使用Async/Await的方法

    本篇文章主要介紹了React/Redux應(yīng)用使用Async/Await的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • react 父子組件之間通訊props

    react 父子組件之間通訊props

    這篇文章主要介紹了react 父子組件之間通訊props,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • React18之update流程從零實(shí)現(xiàn)詳解

    React18之update流程從零實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了React18之update流程從零實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • React router基礎(chǔ)使用方法詳解

    React router基礎(chǔ)使用方法詳解

    這篇文章主要介紹了React router基礎(chǔ)使用方法,React Router是React生態(tài)系統(tǒng)中最受歡迎的第三方庫之一,近一半的React項(xiàng)目中使用了React Router,下面就來看看如何在React項(xiàng)目中使用
    2023-04-04
  • React 封裝自定義組件的操作方法

    React 封裝自定義組件的操作方法

    React中自定義組件的重要性在于它們提供了代碼重用、降低耦合性、提升可維護(hù)性、更好的團(tuán)隊(duì)協(xié)作、靈活性和易于測(cè)試和調(diào)試等好處,從而提高了開發(fā)效率和質(zhì)量,這篇文章主要介紹了React 封裝自定義組件,需要的朋友可以參考下
    2023-12-12

最新評(píng)論

类乌齐县| 旌德县| 罗平县| 徐汇区| 樟树市| 临夏市| 长治县| 吴堡县| 宣汉县| 福州市| 衡山县| 渭南市| 金坛市| 图片| 两当县| 修文县| 南岸区| 彭山县| 灵川县| 济阳县| 栾川县| 博野县| 泊头市| 长海县| 永寿县| 宝清县| 江华| 南溪县| 轮台县| 图们市| 洛川县| 佛冈县| 密山市| 平果县| 思南县| 舟曲县| 阳高县| 东港市| 惠水县| 奇台县| 左贡县|