React 中的 SVG:最常見的使用方式

已發表: 2022-12-20

如果你想在 React 中使用可縮放矢量圖形 (SVG),有幾種不同的方法可以實現。 在本文中,我們將了解在 React 中使用 SVG 的一些最常見方法,以及如何使用每種方法創建簡單或複雜的 SVG 圖像。

XML 是一種可用於創建矢量圖形的數據結構。 一些品牌,如 Twitter、YouTube、Udacity 和 Netflix,使用 SVG 來使用他們的圖像和圖標。 如果您願意,可以直接在代碼中導入和使用 React SVG。 因此,圖像和 HTML 是分開呈現的。 CRA 使用 SVGR 作為其基礎設施的一部分,以便允許它轉換和導入 SVG 作為 React 組件。 如果您沒有Create React App ,尋找其他方法是個好主意。 使用 SVGR 工具,您可以將您的 .

V 文件到 React 組件中。 這通常會作為項目的一部分被翻譯成 DOM。 LogRocket Redux 的中間件包為您的用戶會話增加了一層額外的可見性。 LogRocket 可以存儲所有 Redux 相關的動作和信息。 除了監控其 CPU 負載、內存使用和其他指標外,它還會報告您的應用程序的性能。 通過免費監控改進您調試React 應用程序的方式。

因為 JSX 支持svg 標籤,我們可以使用我們的 React 組件直接複製粘貼 SVG。 由於此方法允許您通過 SVG 充分利用 HTML,因此實現起來很簡單。 因為 SVG 是 XML 格式,所以可以實現該方法。

你可以使用 instead 而不是 instead。 如果您使用的是React Native應用程序,則應該使用 sva。 SVG 格式是一種基於矢量的格式,沒有大小限制。

可以使用“svg”標籤將圖像直接寫入 HTML 文檔。 這是通過使用SVG 圖像作為模板、將代碼複製到其中並將其添加到 HTML 文檔的 body> 元素來實現的。

React 與 Svg 一起工作嗎?

React 與 Svg 一起工作嗎?
圖片來源:logrocket

是的,React 與 SVG 一起工作。 React 是一個用於構建用戶界面的聲明式、高效且靈活的 JavaScript 庫。 它適用於各種SVG 庫,包括 D3 和 Snap。

VG 是一種基於文本的圖像格式,具有出色的可擴展性和性能。 SVG 的強大之處在於它們的可擴展性、靈活性、輕量級和易於製作動畫。 當圖像被縮小或放大時,它不會降低質量,使其在各種屏幕尺寸上比其他圖像格式更有效。 導入 SVG 是 React 中可用的選項之一。 在這種情況下,最簡單的方法是使用 img src 屬性。 另一種方法是將常規 SVG 標籤轉換為 JSX 以在 JSX 格式中做出反應。 使用 SVGR 將原始圖像轉換為 React 組件。

我們可以通過根據 React應用程序組件的條件渲染它們來更有效地使用 React SVG。 本教程將基於一個帶有打開和關閉 SVG 圖標的漢堡包。 使用 CSS 為組件設置動畫的能力是使 sva vogets 具有可擴展性和高分辨率的功能之一。 sva 圖像形式的文本文件完全基於 XML。 任何文本編輯器都可以輕鬆創建、動畫化和修改它們。 使用生成 SVG 的圖像生成器,您可以輕鬆地將圖像縮放到任意大小而不會降低質量。 使用 Web Animation API、WebGL、CSS 動畫和其他技術,您可以製作 SVG 動畫。

如何在 React Native 中使用 Svgs

您可以通過多種方式在 React Native 中使用 SVG。 在初始化項目的情況下,React Native CLI 允許您使用圖像源屬性導入 SVG 文件。 要導入 yoursvg,請導航至/path/to/image/yoursvg。 如果你不想使用 React Native,你也可以使用 Expo CLI 安裝 react-native-svg。 安裝後,以這種方式使用它:從您的本機 HTML 格式導入 yoursvg; *br 使用 React Native 時,SVG 最常見的用例是作為圖標。 react-native-svg-symbols 包允許您從SVG 文件生成圖標。 在 React Native 中,您還可以使用來自這些類型的 SVG 的圖像作為您應用程序的背景。 使用 react-native-svg-image-placeholder 包為您的應用製作佔位符圖像。

如何在 Create React App 中使用 Svg?

如果你想在 create-react-app 中使用 SVG,那麼你需要運行以下命令來安裝 svg-inline-loader:
npm 安裝 svg-inline-loader –save-dev
安裝加載程序後,您可以通過將以下行添加到 webpack.config.js 文件來使用它:
模塊.exports = {
模塊: {
規則:[
{
測試:/\.svg$/,
裝載機:'svg-inline-loader'
}
]
}
};

可縮放矢量圖形 (SVG) 文件是可以一次放大的文件。 XML 是用於指定基於矢量的圖形的標準格式。 與位圖圖像不同,SVG 圖像在放大時會保留形狀。 在 React 中使用 SVG 可以通過多種方式完成。 我們將詳細介紹每一個。 使用 img 標籤,Create React App 嵌入了標誌 SVG ,它在單獨的文件 src/image.svg 中定義。 import 語句指定 webpack 在第 2 行使用此圖像。

這個函數也可以直接使用第5行:導入圖片是最常用的方法,雖然兩種方法都可以。 使用 SVG 文件作為 React 組件的好處很多。 它是一個非常靈活的工具,可以用來在短時間內建立一個網站。 VSCode 還包括許多擴展。 如果您想查看代碼,請查看 GitHub GitHub gist,它有 256 行。

Create React App 的優缺點

Create React App 存在很多問題,首先是它本質上是一個捆綁應用程序。 如果您想使用不同的庫,例如 React Router 或 Redux,您必須手動將其捆綁到您的項目中。 如果您只想使用幾個庫,這沒什麼大不了的,但是如果您使用很多不同的庫,它就會變得非常乏味。 Create React App 應用程序與 React 有著重要的聯繫。 要使用 Redux 的功能,必須找到解決方法。 創建一個基本的 Redux 項目,例如 create-react-app-redux-starter,需要添加一些額外的行來處理狀態更新。 存在其他基於 React 的樣板,例如 Create React App React,它試圖解決其中一些問題但並不完美。 你必須決定是否使用 Create React App,但我建議先使用另一個樣板。

創建 React App Svg

使用 create-react-app 命令行工具,您可以輕鬆創建包含 SVG 文件的 React 應用程序。 只需運行 create-react-app 命令,後跟您的應用程序名稱,並包含 –svg 標誌。 這將創建一個新的 React 應用程序,其中包含使用 SVG 文件所需的所有依賴項。

作為光柵圖像的替代品,SVG 是一種輕量級、可無限縮放的文件格式。 當嵌入到 HTML 中時,它也可以在 CSS 中設置樣式和動畫。 SVG 可以通過多種方式在 React 應用程序中使用。 我們將在以下示例中了解是什麼讓 sva 如此出色。 您可以使用 SVG 創建一些非常酷的東西,例如文本動畫。 然後,我們將跳入 React 以獲得更精緻的外觀。 我們將使用相當長的圖形來創建這個項目; 這是主要部分的列表。

使用 SVG,您可以創建放置在受 adef 保護的塊內的對象。 形狀、路徑、過濾器和漸變圖像,如上圖所示。 可以通過以下標籤找到它:引用它的 id。 SVG除此之外還能做什麼? 在此示例中,我們將通過說明如何創建 SVG 來向您展示如何使用 React 即時執行此操作。 借助語義代碼的強大功能,可以在代碼中輕鬆創建模式並且非常靈活。 我們可以記住的一個文件是澆頭,可以用不同的方式將其放在比薩餅上。 此練習需要在比薩最困難的部分使用配料。

當我們在正確的上下文中使用 SVG 時,它可以毫不費力地用於豐富React 網站和應用程序。 我們將需要製作一個動畫,其中在更新比薩餅時澆頭落在比薩餅上面。 該代碼可從 GitHub 下載。 沒有太多關於 SVG 酷炫的討論。 然而,SVG 中存在缺陷。