SVG在React中的運用

    在Web的世界當(dāng)中,SVG并不是什么新的語言,只不過早年前SVG在Web的應(yīng)用并不太廣泛。愛掏網(wǎng) - it200.com不過近年來,它在Web的應(yīng)用越來越廣泛。愛掏網(wǎng) - it200.com最為常見的就是一些Icon圖標(biāo),復(fù)雜一點是一些矢量圖(比如不規(guī)則的圖形),甚至還可以使用SVG的濾鏡、動效等功能,實現(xiàn)一些復(fù)雜的UI效果。愛掏網(wǎng) - it200.com不過這些并不是今天要和大家聊的主題,今天想和大家聊的是 SVG在前端框架中的應(yīng)用,比如React框架。愛掏網(wǎng) - it200.com

    在繼續(xù)往下閱讀之前,建議你對SVG有一定的了解,如果你在SVG這方面沒有任何的基礎(chǔ),建議你花點時間閱讀:

    • 圖解SVG的核心概念
    • SVG之旅
    • 編寫 SVG 的指南
    • SVG應(yīng)用指南

    如果你運行“create-react-app”構(gòu)建的項目,其中React的Logo圖就是一個SVG:

    在此我們就可以提出第一個問題:如何在React項目中引入SVG? 在回答這個問題之前,我們先來回憶一下,在HTML中是如何引入SVG的。愛掏網(wǎng) - it200.com

    在HTML中引入SVG主要方式有:

    
    
    .logo {
        background-image: url('path/logo.svg')
    }
    
    
    
    
    
    
    

    不過最為常見的還是四種,不過我個人更推薦將SVG代碼內(nèi)聯(lián)到HTML中。愛掏網(wǎng) - it200.com

    回到React的世界中來。愛掏網(wǎng) - it200.com在項目初始化的時候,在src/目錄下就有一個logo.svg文件,你會發(fā)現(xiàn)在App.tsx文件中:

    import logo from './logo.svg';
    
    function App() {
        return (
            
            
    ); }

    通過import.svg文件引入進(jìn)來,并且運用到src屬性上:

    在編譯之后,你會發(fā)現(xiàn)上面的使用和在HTML中引入.svg相同:

    另外,在React框架上開發(fā)項目的話,使用Webpack加載器來加載SVG已經(jīng)是非常成熟的技術(shù),而且還可以直接將.svg文件作為組件引入到任何React模塊中,并在構(gòu)建時進(jìn)行優(yōu)化。愛掏網(wǎng) - it200.com比如上面的App.tsx修改為:

    // App.tsx
    
    import React from 'react';
    // import logo from './logo.svg';
    import { ReactComponent as ReactLogo } from './logo.svg';
    import './App.css';
    
    function App() {
        return (
            
                
    {/* */}
    ); } export default App;

    編譯出來的代碼也不是加載.svg文件的方式了,而是直接將SVG代碼內(nèi)聯(lián)在頁面的DOM中:

    除此之外,我們還可以直接將SVG代碼放到相應(yīng)的組件模塊中,不過要將SVG代轉(zhuǎn)換成JSX代碼:

    // App.tsx
    function App() {
        return (
            
                
    {/* */} {/* */} 包月會員查看

    分享到:
    • 上一篇:A11Y 101: 構(gòu)建可訪問性React應(yīng)用的技巧
    • 下一篇:使用React Hooks和WAAPI創(chuàng)建動效
    聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
    發(fā)表評論
    更多 網(wǎng)友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 国产成人精品无码一区二区 | 国产精品盗摄一区二区在线| 无码国产精品一区二区免费虚拟VR| 无码喷水一区二区浪潮AV| 国产精品视频一区二区噜噜| 国产一区二区三区免费看| 亚洲一区二区三区高清不卡| 亚洲AV乱码一区二区三区林ゆな| 精品国产毛片一区二区无码| 精品无码成人片一区二区| 国产乱码一区二区三区四| 污污内射在线观看一区二区少妇| 一区二区3区免费视频| 国产女人乱人伦精品一区二区| 精品国产一区二区三区不卡| 人妻免费一区二区三区最新 | 精品国产毛片一区二区无码 | 亚洲国产美国国产综合一区二区| 日韩精品一区二区三区不卡 | 精品国产一区二区三区久久久狼 | 91一区二区三区| 久久久久人妻一区精品果冻| 国产精品99无码一区二区| 亚洲中文字幕丝袜制服一区| 国产免费播放一区二区| 中文字幕一区二区人妻性色 | 精品无码AV一区二区三区不卡 | 中文字幕一区二区视频| 久久久精品日本一区二区三区| 狠狠色婷婷久久一区二区三区 | 日本精品少妇一区二区三区| 日韩精品人妻av一区二区三区| 亚洲乱码国产一区网址| 国产一区二区三区免费观看在线| 亲子乱AV视频一区二区| 无码AV天堂一区二区三区| 中文字幕一区二区三区人妻少妇| 亚洲日韩AV无码一区二区三区人| 国模视频一区二区| 精品无码综合一区| 精品无码国产一区二区三区AV|