วิธีใช้ SVG แบบคงที่ในการตอบสนองแบบเนทีฟด้วยองค์ประกอบภาพ Expo

เผยแพร่แล้ว: 2022-12-25

หากคุณใช้ Expo เพื่อจัดการโปรเจ็กต์ React Native ของคุณ คุณอาจสงสัยว่าจะใช้ไฟล์ SVG แบบสแตติกของคุณเองได้อย่างไร แทนที่จะใช้คอมโพเนนต์รูปภาพในตัว ต่อไปนี้เป็นคำแนะนำโดยย่อเกี่ยวกับวิธีแทนที่ส่วนประกอบรูปภาพที่มีอยู่ด้วย SVG แบบคงที่ ก่อนอื่น คุณจะต้องเพิ่มไฟล์ SVG แบบคงที่ในโครงการของคุณ คุณสามารถทำได้โดยเพิ่มไฟล์ไปยังไดเร็กทอรี `assets/` ของโปรเจ็กต์ ถัดไป คุณจะต้องอัปเดตคอมโพเนนต์ `Image` ให้ชี้ไปที่ไฟล์ SVG แบบคงที่ใหม่ นี่คือตัวอย่าง: “` นำเข้า React จาก 'react'; นำเข้า { รูปภาพ } จาก 'react-native'; const MyImage = () => ( source={require('./assets/my-image.svg')} /> ); “` และนั่นแหละ! ตอนนี้คุณควรเห็นไฟล์ SVG แบบคงที่ของคุณแสดงผลในแอปของคุณ

รูปแบบเวกเตอร์นี้เหมาะสำหรับใช้กับทุกขนาดโดยไม่สูญเสียคุณภาพ กระบวนการพัฒนาดูเหมือนจะทำงานอย่างถูกต้องบน Android แต่ไฟล์ไม่โหลดในโหมดเผยแพร่เมื่อทำงานบน Android ในการเพิ่มโมดูลเนทีฟใหม่ให้กับ Expo คุณต้องแยกโมดูลเหล่านั้นออกจากแอปพลิเคชัน อย่างไรก็ตาม มีวิธีเรียกใช้ Raw React Native และ Expo ในเวลาเดียวกัน ในขั้นตอนที่ 12 คุณจะต้องเพิ่มการรองรับ React Native สำหรับ iOS และ Android ที่รองรับ SVG ในแอป Expo ของคุณ สร้างฟังก์ชันโดยใช้ส่วนประกอบ react-native-svg ตามที่อธิบายไว้ในขั้นตอนที่ 13 ใช้ส่วนประกอบ SvgXml จาก react-native-svg เพื่อทำเช่นนั้น ในขั้นตอนสุดท้าย ให้คัดลอกองค์ประกอบ SVG ใหม่ของคุณไปยัง App.js และใช้เป็นองค์ประกอบดั้งเดิมของ React ในขั้นตอนที่ 15 คุณจะได้รับแจ้งให้สร้างโครงการและรันบนเครื่องจำลองของคุณ

ฉันจะใช้ Svg ใน Expo ได้อย่างไร

ไม่มีวิธีใช้ ภาพ SVG กับ Expo ในตัว อย่างไรก็ตาม คุณสามารถใช้แพ็คเกจ React-Native-SVG เพื่อจัดการได้


ฉันสามารถใช้ Svg ใน React Native ได้หรือไม่

ฉันสามารถใช้ Svg ใน React Native ได้หรือไม่
ที่มารูปภาพ: https://logrocket.com

React Native รองรับ sva หรือไม่ สำหรับแอปบนอุปกรณ์เคลื่อนที่ คุณต้องใช้ SVG เพื่อแสดงรูปภาพ ไม่ใช่แค่ในเว็บ ซึ่งคุณสามารถใช้เป็นแหล่งที่มาของรูปภาพโดยตรงหรือวางโค้ดลงในไฟล์ HTML ของคุณได้ เนื่องจากไม่มีคอมโพเนนต์ React Native ในตัว จึงไม่สามารถเรนเดอร์ SVG ได้โดยตรง

กราฟิกแบบเวกเตอร์ที่ปรับขนาดได้ (SVG) เป็นภาษาที่ใช้ XML ซึ่งอธิบายกราฟิกแบบเวกเตอร์สองมิติ ไม่รองรับ React Native ไฟล์ SVG ทันทีที่แกะกล่องเหมือนเว็บ ปลั๊กอิน React Native บางตัวอนุญาตให้คุณเรนเดอร์ SVG ในโครงการของคุณ นอกจากนี้ คุณจะได้เรียนรู้วิธีใช้ SVG เพื่อตอบสนองส่วนประกอบและปรับแต่งส่วนประกอบเหล่านั้นโดยใช้อุปกรณ์ประกอบฉาก

Document.getelementbyid('รูท') ); ตอบสนองและ Svgs

ด้วยเหตุนี้ คุณอาจประหลาดใจที่รู้ว่า React ใช้ SVG React รองรับ SVG เป็นส่วนขยาย สามารถใช้ React Native Svg เพื่อเรนเดอร์ SVG ภายในแอปของคุณ หากต้องการใช้คอมโพเนนต์ Svg คุณต้องเขียนบรรทัดต่อไปนี้ลงในไฟล์ index.js ก่อน: รวบรวม thesvg จาก act native-svg โดย React จาก ReAct จากนั้นสร้างไฟล์ใหม่ชื่อ Main.js และคัดลอกโค้ดต่อไปนี้ลงไป องค์ประกอบองค์ประกอบมาจากการกระทำ; องค์ประกอบ Svg มาจากการกระทำพื้นเมือง svg; และคลาส Main ขยาย Component render() return (Svg width=350 คอมโพเนนต์ Svg จะต้องได้รับการกำหนดค่าถัดไป br>แทรกบรรทัดต่อไปนี้ที่ด้านบนของไฟล์ Main.js ของคุณ นำเข้าตัวแปร Svg จาก Loader.js ไฟล์ นำเข้าไฟล์โดยคัดลอกบรรทัดต่อไปนี้ลงในส่วนนำเข้า ฉันมีค่าที่จำเป็นสำหรับ [..vg] จากไฟล์ react-native-svg ในไฟล์ของคุณ คุณต้องกำหนดองค์ประกอบ Svg ก่อน เพิ่ม บรรทัดต่อไปนี้ที่ด้านบนสุดของไฟล์: *br* หากต้องการค้นหา const Svg ให้ใช้สูตร () XML สำหรับ [url://www.w3.org/2000/svg];] svg xmlns[/url ] width=350 height=300 fill=%fff%3D]; คุณต้องกำหนด props ของคอมโพเนนต์ Svg ก่อน หลังจากลากเส้นที่ด้านล่าง คุณจะเห็นไฟล์ ซึ่งจะอยู่ในรูปของ prop ซึ่ง const คือความกว้าง ความสูง การเติม และตัวพิมพ์ใหญ่เสมอ ตอนนี้ คุณต้องกำหนดวิธีการเรนเดอร์สำหรับคอมโพเนนต์ Svg ตรวจสอบว่าคุณกำลังใช้บรรทัดต่อไปนี้ที่ด้านล่างของไฟล์หรือไม่ Fill = 'empty' (Svg width = 'width' ความสูง = 'ซ แปด' เติม = 'ว่าง'); กลับ (Svg width = 'width' height = 'height' fill = 'empty' ฟังก์ชัน onPress จำเป็นสำหรับคอมโพเนนต์ Svg คุณสามารถเพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของไฟล์ด้วยวิธีต่อไปนี้ br> onPress = ( e) = (e) e.preventDefault(); br>br> onPress = (e) = (e) e. PreventionDefault(); ตอนนี้คุณสามารถใช้คอมโพเนนต์ Svg ในแอปของคุณได้แล้ว ในไฟล์ Main.js คุณจะต้องเพิ่มบรรทัดต่อไปนี้ที่ด้านล่าง sg.render( ListView key='listItem' items=[, 2, 3] />, sg.render( ListView key='listItems' items=[, 2, 3]

ไฟล์ Expo นำเข้า Svg

หากต้องการนำเข้าไฟล์ svg เข้าสู่ Expo คุณต้องติดตั้งแพ็คเกจ expo-svg ก่อน จากนั้นคุณสามารถใช้รหัสต่อไปนี้: นำเข้า * เป็น React จาก 'react'; นำเข้า { Text, View, StyleSheet } จาก 'react-native'; นำเข้า { Ionicons } จาก '@expo/vector-icons'; ส่งออกคลาสเริ่มต้น MyComponent ขยาย React ส่วนประกอบ { แสดงผล () { กลับ ( นี่คือย่อหน้าเกี่ยวกับ ไฟล์ Expo import svg name=”ios-add-circle” size={32} color=”green” /> ); } } รูปแบบ const = StyleSheet.create({ คอนเทนเนอร์: { flex: 1, justifyContent: 'center', alignItems: 'center', }, });

แพ็คเกจ Svg: เครื่องมืออเนกประสงค์สำหรับการนำเข้ากราฟิก Svg ลงในเอกสารลาเท็กซ์

LaTeX ซึ่งเป็นระบบการเรียงพิมพ์ที่ได้รับความนิยมในหมู่นักวิทยาศาสตร์และวิศวกร สามารถใช้ในการเรียงพิมพ์เอกสารในรูปแบบต่างๆ รวมถึง TeX ซึ่งเป็นระบบเตรียมเอกสารที่สามารถใช้เพื่อเรียงพิมพ์เอกสาร LaTeX เป็นโครงการซอฟต์แวร์โอเพ่นซอร์สยอดนิยมที่ทำงานบนแพลตฟอร์มที่หลากหลาย รวมถึง Windows, macOS และ Linux แพ็คเกจ LaTeX ช่วยให้คุณสามารถนำเข้า กราฟิก SVG ลงในเอกสารของคุณได้ ตัวอย่างเช่น svg เป็นแพ็คเกจ GitHub ที่สามารถดาวน์โหลดและใช้งานได้ svg เป็นแพ็คเกจที่มีฟังก์ชั่นหลากหลายเพื่อให้คุณส่งออกกราฟิก SVG ของคุณเป็นไฟล์แยกต่างหาก ซึ่งจากนั้น LaTeX จะแสดงผลได้ สามารถใช้แพ็คเกจ svg ในอินสแตนซ์แรกได้โดยการส่งออกไฟล์ SVG ของคุณโดยใช้อินเทอร์เฟซบรรทัดคำสั่ง Inkscape ตรวจสอบว่าได้เลือกช่องทำเครื่องหมายดั้งเดิมบนไฟล์ที่ส่งออกในแพ็คเกจ svg แล้วเปิดใช้งาน ผลผลิตที่เราได้รับจะถูกนำไปใช้ในการก่อสร้างโครงการของเรา เมื่อใช้ LaTeX คุณสามารถนำเข้ากราฟิก SVG โดยใช้แพ็คเกจที่หลากหลาย โดยสรุป แพ็คเกจ svg มีฟังก์ชันมากมายที่ให้คุณส่งออกกราฟิก SVG ของคุณเป็นไฟล์แยกต่างหาก จากนั้นให้ LaTeX แปลเป็นรูปแบบ ไลบรารี LaTeX มีแพ็คเกจจำนวนหนึ่งที่สามารถใช้เพื่อนำเข้ากราฟิก SVG ลงในเอกสาร แพ็คเกจ SVG มีฟังก์ชันมากมายที่ให้คุณส่งออกรูปภาพของคุณเป็นไฟล์แยกต่างหาก ซึ่งจากนั้น LaTeX จะแสดงผล

Expo-svg-uri

“Expo-svg-uri” เป็นไลบรารีที่ให้คุณใช้ไฟล์ SVG ในแอปของคุณได้ ใช้งานง่ายและเป็นวิธีที่ยอดเยี่ยมในการเพิ่มกราฟิกแบบเวกเตอร์ลงในแอปของคุณ

โต้ตอบพื้นเมือง Svg

React-native-svg เป็นไลบรารีที่ช่วยให้รวม Scalable Vector Graphics (SVGs) เข้ากับแอปพลิเคชัน React Native ได้อย่างง่ายดาย เป็นวิธีที่ยอดเยี่ยมในการรวมกราฟิกและไอคอนที่ซับซ้อนไว้ในแอปของคุณ และทำให้ง่ายต่อการปรับขนาดและเปลี่ยนสีของกราฟิกได้ทันที

รูปแบบกราฟิกแบบเวกเตอร์ที่ปรับขนาดได้ (SVG) จะแสดงภาพโดยใช้กราฟิกแบบเวกเตอร์ เป้าหมายของบทความนี้คือการสาธิตวิธีจัดการ SVG ในแอปพลิเคชัน React Native เราจะบูตเครื่อง React Native โดยใช้กรอบงาน Expo คุณสามารถทดสอบแอปพลิเคชันของคุณในเครื่องได้ในระหว่างขั้นตอนการพัฒนาด้วยความช่วยเหลือของ Expo Development Server OpenReplay เป็นชุดเล่นซ้ำเซสชันแบบโอเพนซอร์สที่ช่วยให้คุณเห็นว่าผู้ใช้ทำอะไรบนเว็บแอปแบบเรียลไทม์ ช่วยให้คุณแก้ไขปัญหาได้อย่างมีประสิทธิภาพมากขึ้น เราสามารถสร้างส่วนประกอบ SVG จากแหล่งภายนอกโดยใช้ส่วนประกอบ SvgUri ของไลบรารี react-native-svg SVG ภายนอก สามารถนำเข้าไปยังโปรเจ็กต์ React Native ได้ในทั้งสองกรณี โดยใช้ไลบรารี SvgExternal และ App.js หรือโดยใช้ไลบรารี App.js

การใช้ React Native Animated API เราจะแสดงวิธีสร้างแอนิเมชั่นสำหรับเรนเดอร์ SVG แม้ว่า React Native จะรองรับแอนิเมชั่นที่มีรูปร่างซับซ้อน แต่ก็มีข้อเสียด้านประสิทธิภาพอยู่บ้าง โดยเฉพาะอย่างยิ่งเมื่อพูดถึงแอนิเมชั่นขนาดใหญ่ รหัสสำหรับบทความนี้สามารถพบได้ที่นี่

ตอบสนองพื้นเมือง

React Native เป็นเฟรมเวิร์ก JavaScript สำหรับสร้างแอพมือถือแบบเนทีฟ ใช้เฟรมเวิร์ก React และนำเสนอชุดเครื่องมือและบริการที่ทำให้การสร้าง ทดสอบ และปรับใช้แอพมือถือเป็นเรื่องง่าย

React Native มีเฟรมเวิร์ก UI ที่เปิดเผยสำหรับ iOS และ Android React Native ใช้การควบคุม UI แบบเนทีฟ ทำให้คุณสามารถใช้แพลตฟอร์มแบบเนทีฟพร้อมการควบคุมที่สมบูรณ์ คุณจะต้องติดตั้ง React Native ทั้งนี้ขึ้นอยู่กับโปรเจ็กต์ของคุณ ดูข้อมูลเพิ่มเติมเกี่ยวกับ React API ได้ในเอกสาร React เพื่อให้ React Native มีส่วนร่วมได้ง่ายที่สุด เราจะทำให้มันง่ายที่สุด เมื่อคุณอ่านด้านล่าง เราจะแสดงวิธีมีส่วนร่วมในชุมชน React Native หลังจากทบทวนจรรยาบรรณของโครงการแล้ว เราคาดหวังให้ผู้เข้าร่วมโครงการปฏิบัติตาม คู่มือการมีส่วนร่วมของเราจะอธิบายวิธีการส่งการแก้ไขข้อบกพร่องและการปรับปรุง และสรุปขั้นตอนการพัฒนาของเรา