การแสดงภาพ SVG ในการตอบสนอง
เผยแพร่แล้ว: 2022-12-14หากคุณต้องการเพิ่มกราฟิกลงใน แอป React ของคุณ คุณอาจสงสัยว่าจะทำอย่างไร วิธีทั่วไปในการบรรลุสิ่งนี้คือการใช้ไลบรารีเช่น React-SVG อย่างไรก็ตาม หากคุณกำลังมองหาแนวทางปฏิบัติจริงมากขึ้น คุณสามารถใช้ SVG ได้โดยตรง ในบทความนี้ เราจะแสดงวิธีใช้ React เพื่อเรนเดอร์ภาพ SVG
CodePen ช่วยให้คุณสามารถเขียนอะไรก็ได้ที่คุณต้องการภายในแท็ก body ของ เทมเพลต HTML5 พื้นฐาน การเพิ่มชั้นเรียนจะช่วยให้คุณเปลี่ยนเอกสารทั้งหมดได้หากต้องการ สามารถใช้ CSS เพื่อใช้กับปากกาของคุณได้จากทุกที่บนอินเทอร์เน็ต คุณสามารถใช้สคริปต์กับปากกาได้จากทุกที่บนอินเทอร์เน็ต คุณสามารถส่ง URL มาที่นี่และเราจะเพิ่มตามลำดับที่คุณมี ก่อนที่จะเริ่ม JavaScript ใน Pen หากมีส่วนขยายตัวประมวลผลล่วงหน้าอยู่ในไฟล์ที่คุณลิงก์ เราจะพยายามประมวลผลก่อนที่จะนำไปใช้
ควรใช้ Svg หรือ Png ในการตอบสนองดีกว่ากัน?
หากคุณต้องการแอปแบบเนทีฟแบบตอบสนอง ให้เลือก PNG เนื่องจากมีการแสดงผลที่ใช้ CPU น้อยกว่าและใช้งานง่ายกว่า SVG และหากคุณเปรียบเทียบเว็บแอป คุณไม่จำเป็นต้องโหลดภาพทั้งหมดเมื่อเปิดใช้แอปและหลังจาก การติดตั้งดังนั้นขนาดจึงไม่เกี่ยวข้อง
XML แสดงถึงรูปร่าง เส้น และสี และรหัสเวกเตอร์สร้างอินพุตเหล่านี้ คนส่วนใหญ่ใช้โปรแกรมกราฟิกแบบเวกเตอร์เช่น Inkscape หรือ Adobe Illustrator เมื่อสร้างภาพ แม้ว่าการแปลง PNG หรือภาพแรสเตอร์อื่นๆ เป็น SVG เป็นตัวเลือก แต่บางครั้งผลลัพธ์ที่ได้ก็แย่ เนื่องจากความสามารถในการปรับขนาดและไม่มีการลดลง กราฟิกแบบเวกเตอร์จึงเหมาะที่สุดสำหรับ การออกแบบเว็บที่พร้อมใช้ งานจอเรตินา แม้ว่า GIF, APNG และ WebP จะรองรับภาพเคลื่อนไหว แต่ไม่รองรับ PNG สามารถสร้างกราฟิกที่เรียบง่ายพร้อมภาพเคลื่อนไหวที่จะปรับขนาดได้ดีบนหน้าจอใดก็ได้ ไฟล์ V.G.
รูปแบบไฟล์ภาพออนไลน์ที่ใช้บ่อยที่สุดคือ PNG การใช้ ไฟล์ PNG ช่วยให้แสดงรายละเอียดภาพ งานศิลปะ และภาพถ่ายได้ง่ายขึ้น PNG เข้ากันได้กับรูปภาพใดๆ ที่ซับซ้อน ไม่เคลื่อนไหว และไม่มีประเภท แม้ว่า SVG จะดีกว่าในหลาย ๆ ด้าน แต่ PNG ก็ดีกว่าในการจัดการกับสถานการณ์บางอย่าง รูปแบบไฟล์สองรูปแบบที่ใช้บนอินเทอร์เน็ต ได้แก่ PNG และ SVG มีความแตกต่างกันอย่างมาก แต่การเลือกรูปแบบที่เหมาะสมนั้นสำคัญกว่าว่าจะใช้หรือไม่ใช้ แม้ว่าจะต้องมีการโหลดบนเซิร์ฟเวอร์ แต่โดยทั่วไปแล้วเซิร์ฟเวอร์จะมีขนาดเล็กกว่าและเก็บภาษีสำหรับ SVG น้อยกว่า กราฟิกที่มีสีซับซ้อนหรือมีหลายพันสีสามารถแสดงในไฟล์ PNG
Svg ชัดเจนกว่า Png หรือไม่
ไฟล์เวกเตอร์เหมาะสำหรับโลโก้ ไอคอน และกราฟิกง่ายๆ เว็บไซต์ของคุณจะปรากฏเร็วขึ้นเนื่องจากมีขนาดเล็กกว่าไฟล์ PNG และสีสันสดใสกว่า
วิธีที่ดีที่สุดในการใช้ Svg ในการตอบสนองคืออะไร?
SVG เป็นวิธีที่ง่ายที่สุดวิธีหนึ่งในการใช้แท็กรูปภาพเมื่อนำเข้า หากคุณเริ่มต้นแอปของคุณโดยใช้ Create React App (CRA) คุณสามารถนำเข้าไฟล์แอตทริบิวต์ไปยังแหล่งที่มาของรูปภาพได้ เนื่องจากไฟล์ที่มีอยู่รองรับแล้ว ค้นหา URL ที่จะนำเข้า yourSvg
Svgs ดีกว่ารูปภาพหรือไม่
เนื่องจากการสูญเสียคุณภาพไม่เคยเป็นปัญหาใน SVG จึงดูคมชัดและสวยงามอยู่เสมอ รูปภาพที่ได้รับการปรับขนาดเล็กน้อยอาจดูพร่ามัวเมื่อดูในลักษณะเดียวกัน เนื่องจาก ไฟล์ SVG เป็นเพียงโค้ดเท่านั้น จึงมีขนาดเล็กมากและได้รับการปรับให้เหมาะสมที่สุด นอกจากนี้ยังสามารถใช้เพื่อทำให้ผู้ใช้ง่ายขึ้น
ฉันสามารถใช้ Svg เป็นภาพพื้นหลังได้หรือไม่?
เนื่องจากความสามารถในการปรับขนาด ความยืดหยุ่น และความสะดวกในการสร้างภาพเคลื่อนไหว SVG จึงเป็นวิธีที่ดีในการสร้างภาพเคลื่อนไหว คุณสามารถใช้ SVG เป็นไอคอน โลโก้ รูปภาพ หรือรูปภาพพื้นหลังใน แอปพลิเคชันตอบโต้ ได้
รูปภาพ Svg สามารถใช้เป็นภาพพื้นหลังใน React Native Apps
คุณสามารถใช้ SVG เป็นภาพพื้นหลังใน React ได้ตราบใดที่คุณใช้ PNG, JPG หรือ GIF เป็นภาพพื้นหลัง การใช้ SVG เป็นภาพพื้นหลังใน React Native ให้ประโยชน์ทั้งหมดเช่นเดียวกับการใช้เป็นแหล่งที่มา นอกจากนี้ SVG ยังสามารถใช้งานฟังก์ชันทั้งหมดที่กราฟิกแรสเตอร์ทำได้ เช่น ทำซ้ำ
ตอบสนอง Svg
React เป็นไลบรารี JavaScript สำหรับสร้างส่วนต่อประสานผู้ใช้ ช่วยให้คุณสร้างส่วนประกอบที่ใช้ซ้ำได้ เพื่อให้โค้ดของคุณอ่านและบำรุงรักษาได้ง่าย SVG เป็น รูปแบบกราฟิกแบบ เวกเตอร์ที่เบราว์เซอร์สมัยใหม่รองรับอย่างกว้างขวาง React-SVG เป็นไลบรารีที่ให้คุณฝังส่วนประกอบ React ในไฟล์ SVG ของคุณได้อย่างง่ายดาย
HTML5 และ XML เป็นรูปแบบไฟล์ XML สองรูปแบบที่สามารถใช้สร้างกราฟิกแบบเวกเตอร์ได้ บางแบรนด์ เช่น Twitter, YouTube, Udacity, Netflix และอื่นๆ ใช้ SVG เพื่อแสดงรูปภาพและไอคอน คุณสามารถนำเข้า SVG และใช้เป็น ส่วนประกอบ React ในโค้ดของคุณได้โดยตรง เราไม่โหลดภาพเป็นไฟล์แยกต่างหาก แต่จะแสดงผลร่วมกับ HTML ความสามารถในการแปลงและนำเข้า SVG เป็นส่วนประกอบ React นั้นเกิดขึ้นได้จากการใช้ SVGR หากคุณไม่มี Create React App ฉันขอแนะนำให้ใช้วิธีอื่น โดยใช้เครื่องมือง่ายๆ เช่น SVGR คุณสามารถแปลงอิมเมจ sva ของคุณเป็นคอมโพเนนต์ React
โดยปกติจะรวบรวมเป็นสิ่งที่คล้ายกันใน DOM แพ็คเกจมิดเดิลแวร์ของ LogRocket Redux ช่วยให้คุณมองเห็นเซสชันผู้ใช้ของคุณได้อีกชั้นหนึ่ง LogRocket บันทึกทุกสิ่งที่เกิดขึ้นในร้านค้า Redux ของคุณรวมถึงพฤติกรรมของคุณ คุณยังสามารถติดตามประสิทธิภาพของแอปได้โดยดูเมตริกต่างๆ เช่น โหลด CPU การใช้หน่วยความจำ และด้านอื่นๆ เริ่มตรวจสอบ แอป React ได้ฟรีเมื่อคุณปรับปรุงวิธีการดีบักแอปที่มีอยู่ให้ทันสมัย
ตอบสนองโหลด Svg จาก URL
การโหลด SVG จาก URL ใน React ไม่ใช่เรื่องยาก คุณสามารถใช้มาตรฐาน แท็ก และเพียงตั้งค่าแอตทริบิวต์ src เป็น URL ของ SVG มีบางสิ่งที่ต้องจำไว้ ขั้นแรก ตรวจสอบให้แน่ใจว่า URL ที่คุณใช้อยู่มีรูปแบบที่ถูกต้อง ประการที่สอง คุณอาจต้องใช้ไลบรารี เช่น React-SVG เพื่อแยกวิเคราะห์และเรนเดอร์ SVG อย่างถูกต้อง
เป็นภาษามาร์กอัปที่ใช้ XML ซึ่งอธิบายกราฟิกสองมิติและเวกเตอร์ องค์ประกอบ * ในแอตทริบิวต์ URL เป็นวิธีพื้นฐานที่สุดในการฝังภาพ SVG ผ่านองค์ประกอบ HTML เราจำเป็นต้องมีตัวโหลด webpack ที่เหมาะสมเพื่อแปลงภาพ SVG เป็น URL ข้อมูลในชุดรวมของเรา คลาสนี้ประกอบด้วยตัวเลือกตัวโหลด webpack ที่หลากหลาย ซึ่งตัวโหลดที่ใช้กันอย่างแพร่หลายคือ issvg-url-loader การกำหนดค่าของ Webpack ควรมีจาวาสคริปต์เป็นส่วนประกอบเพิ่มเติม ในแอป React ให้คัดลอกไฟล์ไปยังตำแหน่งต่อไปนี้ HTML คือเอาต์พุตของ DOM เมื่อใช้ inline-svg คุณจะเรียกมันว่า inline-svg วิธีการข้างต้นสามารถใช้ร่วมกันได้ในทุกกรณี ขึ้นอยู่กับการใช้งาน
โหลดอิมเมจ Svg ใน React Native ด้วยแพ็คเกจ React-native-svg
หลังจากติดตั้งแพ็คเกจ react-native-svg แล้ว สามารถโหลดภาพ SVG ได้โดยใช้ฟังก์ชัน svg() หากต้องการโหลดไอคอน Facebook บนหน้าจอหลัก ให้ใช้รหัสต่อไปนี้: React หมายถึงส่วนประกอบของผลิตภัณฑ์ ต้องนำเข้า sg, icon และ “react-native-svg” ตามลำดับต่อไปนี้ './assets/icon.svg';. หน้าจอหลักสามารถเพิ่มส่วนประกอบอื่นให้กับหน้าจอหลักที่มีอยู่ได้แล้ว Render() เป็นวิธีการคืนค่าข้อมูลในวัตถุ กลับไปที่จุดเริ่มต้น URL เป็นดังนี้: [url='this.state.icon']br='shtml'[/url] br> คุณกำลังลงทะเบียนเพื่อใช้สิ่งนี้เท่านั้น . นอกจากการโหลดภาพ SVG แล้ว คุณสามารถใช้แพ็คเกจ react-native-svg ตัวอย่างเช่น คุณสามารถโหลดไอคอน Facebook บนหน้าจอหลักได้โดยใช้รหัสต่อไปนี้ ทำปฏิกิริยา เช่น ส่วนประกอบ from'react' ในการเริ่มต้น ให้นำเข้ารูปภาพของ sg ดังที่แสดงด้านล่าง จาก graphic'react-native-svg' './assets/icon.svg'; มิฉะนั้น, '. ตอนนี้หน้าจอหลักรองรับคอมโพเนนต์แล้ว Render() ส่งกลับผลลัพธ์เช่นเดียวกับฟังก์ชัน ส่งคืน ( br>) เป็นจำนวนเงินที่แน่นอน this.state.icon/br. ฉันโทรหาคุณด้วยชื่อไอคอนของคุณ=fb เมื่อ br>size16br>size16br>size16br>size16br>size16br>size16 *br> */ เพื่อให้แม่นยำ ; *br>. *br> เป็น ไลบรารี รีแอคทีฟที่ใช้ในการโหลด svgs จาก HTML ในโมดูล react-native ใช้ Svg