כיצד להשתמש ב- SVGs ב- React

בלוג

כיצד להשתמש ב- SVGs ב- React

מהו SVG?

SVG הוא פורמט תמונה גרפית וקטורית המבוססת על XML . SVG מייצג גרפיקה וקטורית ניתנת להרחבה. הוא פותח בסוף שנות התשעים ונתמך בצורה גרועה עד בסביבות 2016. כיום אחוז עצום של ספריות אייקונים כמו פלאטיקון, פונט מדהים, חומר אייקון וכו ', תומכים במלואם ב- SVG. מותגים כמו טוויטר, יוטיוב, Udacity, נטפליקס וכו ', משתמשים ב- SVG לחלק מהתמונות והסמלים שלהם.

מדוע SVG על פני פורמטים אחרים של תמונות?

ישנם פורמטים אחרים של תמונות שאנו מכירים יותר כגון .jpeg '> Monalisa תמונה, הייתי מציע להשתמש ב .png '>

שימוש בתג תמונה עבור קבצי SVG סטטיים

על מנת שתוכל להשתמש ב- SVG או בכל פורמט תמונה אחר ב- img | _+_ | עלינו להקים מערכת מטעין קבצים בכל צרור המודולים בו אנו משתמשים (Webpack, Parcel וכו '). כאן אראה לך כיצד להגדיר אותו בכמה שלבים אם אתה כבר משתמש ב- Webpack.

vscode פיתון באגים מרחוק

ראשית, אנו מתקינים את ספריית מטעין הקבצים | _+_ |, זה יתקין אותה כתלות ב- dev.

ותוכל לעדכן את כללי קובצי התצורה של Webpack באמצעות הקוד הבא:

הגדרת מרחיב wifi של netgear (wps)

כעת נוכל לייבא את תמונות SVG שלנו כרכיב React ולהשתמש בהן בקוד שלנו כך:

$ npm install file-loader --save-dev

שימוש ב- SVG ככתובת אתר נתונים

כתובות אתרים הן כתובות אתרים המוקדמות לפני | _+_ | תוכנית המאפשרת ליוצרי תוכן להטמיע קבצים קטנים בתוך המסמכים, תוכל לקרוא עוד על כך כאן. גישה זו מאפשרת לנו להשתמש בתמונות SVG כמו אלמנט מוטבע.

bitbucket לשחזר סניף שנמחק

אז איך נשיג זאת? ראשית, אנו זקוקים למטען Webpack מתאים באוסף שלנו, במקרה השימוש אשתמש ב- svg-url-loader. אנו יכולים לתפוס אותו בפרויקט שלנו על ידי הפעלת פקודה זו | _+_ |. לאחר מכן נעדכן את סעיף כללי קובצי התצורה של Webpack עם כללים אלה:

const webpack = require('webpack'); module.exports = { entry: './src/index.js', module: { rules: [ //... { test: /..png'>SVGR is an awesome tool that converts your SVG into React components that you can use. So how do we set it up?

First, we install the package $ npm install @svgr/webpack --save-dev

כעת נוכל לייבא את קובץ ה- SVG שלנו ולהשתמש בו ברכיב React שלנו כך:

const webpack = require('webpack'); module.exports = { entry: './src/index.js', module: { rules: [ //... { test: /.svg$/, use: ['@svgr/webpack'], }, ], }, //... };

זה בדרך כלל תואם למשהו כזה ב- DOM

import React from 'react'; import ReactLogo from './logo.svg'; const App = () => { return ( ); } export default App;

דברים שכדאי לשים לב אליהם

  • תמונות מסובכות : ככל שהתמונה מורכבת יותר כך קובץ SVG גדול יותר כפי שראינו בעת ניסיון להשתמש בתג SVG. כאן אמליץ לך ללכת with.png '>