صور SVG في React Native
نشرت: 2023-02-10إذا كنت تتطلع إلى استخدام React Native لإنشاء تطبيقات جوال عالية الأداء عبر الأنظمة الأساسية ، فقد تتساءل عما إذا كان بإمكانك استخدام صور Scalable Vector Graphics (SVG). الجواب نعم! في هذه المقالة ، سنوضح لك كيفية استخدام React Native لعرض صور SVG وكيفية استخدام مكتبة React Nativesvg -uri الشهيرة لتحميلها من أصول تطبيقك.
يمكن وصف الرسومات المتجهة ثنائية الأبعاد باستخدام لغة قائمة على XML تُعرف باسم Scalable Vector Graphics (SVG). على عكس الويب ، لا تتضمن React Native دعمًا لـ vogets في تنفيذها. تمكّنك العديد من ملحقات React Native من عرض SVGs. أخيرًا ، ستتعلم كيفية تخصيص SVGs باستخدام الدعائم للتفاعل معها كمكونات تفاعل.
كيف يمكنني عرض Svg في React Native؟
هناك عدة طرق مختلفة لعرض SVGs في React Native. أسهل طريقة هي استخدام مكون الصورة المدمج. يمكنك أيضًا استخدام مكتبة React-native-svg.
إنه متوافق أيضًا مع iOS و Android ؛ رد فعل - أصلية - svg.icons هو أفضل طريقة للتعامل مع SVG في رد الفعل الأصلي. إذا كنت بحاجة إليها للعمل في المعرض ، فإن أحد البدائل هو استخدام https://react-svgr.com/playground/ ونقل انتشار الدعائم إلى عنصر G بدلاً من استخدام جذر SVG. للبدء ، انسخ metro.config.js إلى Metrofile الخاص بك ثم قم بتحديثه إلى هذا التنسيق. تصدير CreditCard كعنصر jssx مثل ذلك لاستيراد CreditCard من "../assets/CreditCard؛" قم باستيراده من "../assets/CreditCard؛" قم بتصديره من "../assets/CreditCard. يجب استخدام حزمة رد فعل-أصلية-svg-محول لاستيراد ملف .svg إلى مكون React الخاص بك. لا يدعم React native تنسيق الملف .svg مباشرةً ، لذلك يجب عليك أولاً إكمال بعض الخطوات حتى يعمل. للحصول على شرح كامل ومثال عن كيفية استخدام thesvg في العمل الأصلي e581eca59534 ، قم بزيارة https://kumar2396jayant.medium.com/how-to-use-svg-in-react-native-e581eca59534 شكرًا لك ، جايانت كومار ياداف مشاركة مدونة.
من الممكن تحويل صورة a.svg إلى JSX من خلال زيارة https://svg2jsx.com/ ، ثم تحديد خيار رد الفعل الأصلي وتثبيته. شكرًا لك! شارات عامر عام 1597 لها طلاء برونزي. سأقترح حلاً لأولئك الذين سيتأثرون بهذا الخطأ في عام 2022. تأكد من تعيين ملف metro.config.js على هذا الإعداد الافتراضي.
كيفية استخدام Svg في React Native
هذا السؤال ليس له إجابة لأن أفضل طريقة لعرض SVG في React Native تختلف باختلاف المشروع. ومع ذلك ، هناك بعض الأساليب التي يمكنك استخدامها لإنجاز ذلك ، مثل استيراد مكونات Svg و Circle من React-native-svg ، وتعيين خصائص العرض والارتفاع لمكون Svg ، واستخدام مكون المسار لإنشاء المسارات والمخططات التفصيلية.
هل تعمل React مع Svg؟
لا توجد إجابة محددة لهذا السؤال لأنه يعتمد على التنفيذ المحدد لـ React. ومع ذلك ، بشكل عام ، يجب أن تعمل React مع صور SVG دون أي مشاكل كبيرة.
يتم استخدام XML لإنشاء تنسيق صورة رسومية متجهية يُعرف باسم sva. تشمل بعض العلامات التجارية التي تستخدم SVGs Twitter و YouTube و Udacity و Netflix وغيرها. نظرًا لأنه يمكن استيراد SVGs واستخدامها مباشرةً في التعليمات البرمجية الخاصة بك ، يمكنك استخدامها كمكونات React. يتم استخدام HTML لعرض الصورة أثناء عدم تحميلها كملف منفصل. لتحويل واستيراد SVG إلى مكون React ، يتم استخدام مكتبات SVGR. إذا لم يكن لديك بالفعل تطبيق Create React مثبتًا ، فإنني أوصي باستخدام طرق أخرى. تُستخدم هذه الأداة الرائعة لتحويل SVGs إلى مكونات React.
عندما يتم مواجهة ذلك في DOM ، فعادة ما يتم إنشاؤه في شيء مشابه. بالإضافة إلى توفير مستوى إضافي من الرؤية في جلسات المستخدم ، تسهل حزمة البرامج الوسيطة LogRocket Redux إدارة ملفات تعريف المستخدمين. يمكن استخدام LogRocket لتخزين جميع الإجراءات والبيانات المتعلقة بـ Redux. علاوة على ذلك ، يمكنك استخدامه لتحليل أداء تطبيقك ، بما في ذلك المقاييس مثل استخدام وحدة المعالجة المركزية والذاكرة. حسِّن طريقة تصحيح أخطاء تطبيقات React بمراقبة مجانية.
صور Svg في رد الفعل الأصلي
تعد الرسومات القابلة للتطوير خيارًا رائعًا لتطبيقات React Native. فهي خفيفة الوزن وقابلة للتطوير وقابلة للتخصيص وسهلة الحركة. باستخدام علامة الصورة ، يمكنك استيراد ملفات SVG بسرعة إلى تطبيقك. علاوة على ذلك ، يدعم رد فعل-أصلية-svg React Native على مجموعة متنوعة من الأنظمة الأساسية ، مما يجعلها منصة تطوير ممتازة عبر الأنظمة الأساسية.
React-native-svg مستندات
يوفر React-native-svg دعم SVG لـ React Native على نظامي iOS و Android ، ويتضمن مجموعة متنوعة من أشكال SVG المضمنة. توفر المستندات نظرة عامة شاملة على جميع الميزات المتاحة وكيفية استخدامها.
باتباع هذا الدليل ، سنشرح كيفية تنفيذ Scalable Vector Graphics (SVG) باستخدام مكتبة React Native. لا يدعم مكون React Native عرض SVG المباشر. من أجل استخدام React Native ، ستحتاج إلى تثبيت المكتبات المناسبة من السجل لأن النظام لا يدعم الرسومات المتجهة. قم باستيراد وعرض SVGs من تطبيق React Native باستخدام مكتبة رد فعل - أصلية - svg. يمكن دمج مكونات Svg و Circle مع مكون> Svg>. تشبه العناصر المستخدمة في هذه المكونات تلك المستخدمة في عنصر HTML الأصلي. تتكون غالبية مكونات SVG من هذا النوع من الدعائم.
إذا كنت تستخدم React Native ، فستحتاج إلى تثبيتها في مشروعك. للإشارة إلى عنوان URL الخاص بـ SVG ، يتضمن مكون SvgUri العرض والارتفاع وخاصية uri. عند عرض الصور في React ، يتم تعيين عنوان URL الخاص بصورتك إليها من خلال السمة itssrc. تسمح لك تخطيطات Flexbox بوضع مكونات SVG الخاصة بك ووضعها في جميع أنحاء شاشتك. طالما أن مشروعك يتطلب ذلك ، يمكنك أيضًا استخدام هذه الطريقة لإنشاء رموز SVG مختلفة لتطبيقك. يسمح لك المكون * SvgXml بتصيير SVG مباشرة من كود XML. يعد استخدام سلاسل XML لعرض SVGs في تطبيقات React Native طريقة أخرى للقيام بذلك.
إكسبو React-native-svg
يوفر لك React Native SVG مجموعة من الأوامر التي يمكنك استخدامها لرسم الصور. حالة الاستخدام الأكثر شيوعًا لـ React Native SVG هي إنشاء رمز مخصص لتطبيقك. يمكنك استخدام React Native SVG لإنشاء جميع أنواع الأشكال ، بما في ذلك: الدوائر والمستطيلات والخطوط وحتى النص. بالإضافة إلى ذلك ، يمكنك استخدام React Native SVG لإنشاء رسوم متحركة.
يمكن تغيير حجم المتجهات في SVG إلى أي حجم دون فقدان جودتها. يبدو أن كل شيء يعمل بسلاسة في بيئة التطوير على Android ، لكنه يفشل في التحميل في وضع الإصدار عند تحميل الملف. لا يمكن إضافة الوحدات النمطية الخاصة بك إلى إكسبو دون فصلها. ومع ذلك ، هناك طريقة بديلة للجمع بين React Native و Expo. تتمثل الخطوة الأولى في الخطوة 1-12 في إضافة دعم React Native SVG الأصلي لنظامي iOS و Android إلى تطبيق Expo الخاص بك. قم بإنشاء دالة باستخدام مكون React-native-svg من ملف js في الخطوة 13. الخطوة الرابعة عشر هي استيراد مكون SVG الجديد الخاص بك إلى App.js الخاص بك واستخدامه كمكون React Native. قبل أن تتمكن من بدء اختبار المشروع ، يجب عليك أولاً تشغيله.
رد فعل الأصلي svg uri
React-native-svg-uri هي مكتبة تسمح لك بتضمين صور SVG في تطبيقات React Native الخاصة بك. إنه سهل الاستخدام ويوفر طريقة بسيطة لإضافة صور متجهة إلى تطبيقك.
رد فعل-أصلية-svg Viewbox
في سمة viewBox ، يتم تعريف إطار عرض SVG بناءً على موضعه وأبعاده في مساحة المستخدم. تمثل سمة viewBox قيمة مستطيلة في مساحة المستخدم مفصولة بمسافة بيضاء ، والتي تمثل أربعة أرقام: min-x و min-y والعرض والارتفاع. في هذه الحالة ، يتم تعيين حدود منفذ العرض على هذا المستطيل.
يجب على مستخدمي React Native Platform استخدام sva كتطبيق أساسي لهم. في كل مرة تضيف فيها صور SVG إلى تطبيقك ، تأكد من تضمين مكون> SVG>. يحدد ViewBox الموضع والأبعاد في مساحة المستخدم لإطار عرض SVG. يمكنك البدء بتكوين سمة التعبئة في العقدة. أقوى عنصر في مكتبة SVG هو مسار العناصر. من الممكن إنشاء أشكال معقدة من خلال الجمع بين عدة خطوط مستقيمة أو خطوط منحنية. يمكن أن تتكون الخطوط المتعددة الأشكال من أي شكل يتكون من خطوط مستقيمة فقط.
يعني عدم وجود خطوط مستقيمة أنه لا يمكن محاكاة المنحنيات بشكل جيد وقياسها بشكل سيئ إلى أحجام أكبر. تؤدي طريقة createIconSetFrom لحزمة رموز المتجهات الأصلية المتفاعلة وظيفة خاصة. تتطلب هذه الطريقة اتصالاً محليًا بدلاً من إعادة حساب المكون بأكمله ، وهو أمر صعب ويستغرق وقتًا طويلاً. يمكنك إنشاء الخط الخاص بك باستخدام برامج مثل icomoon أو fontawesome. نظرًا لأن كل رمز يحتوي على اسم وتتم إزالة الأسماء من اسم الملف ، فمن الأفضل إعادة تسمية الملفات بعد استيرادها إذا لزم الأمر. يمكنك استخدام HTML على الويب ، ولكن لا يمكنك استخدام كائن خارجي ، والذي يتم استخدامه في تنفيذ الويب ويعني أنه لا يمكنك وضع JSX في الداخل. قد تكون إضافة طرق العرض المتداخلة مشكلة أيضًا. يتأثر بشكل كبير بالجوانب المختلفة لسلوك panResponder الخاص بالمنصة.
احصل على منظر مثالي مع ارتفاع النافذة من الأبعاد
عندما تحدد ارتفاع النافذة ، يجب عليك أيضًا تحديد عرضها. هناك أبعاد. احصل على (نافذة).
رد فعل محولات SVG الأصلية
React Native SVG transformer هي مكتبة توفر طريقة لتحويل ملفات SVG إلى مكونات React Native. إنه سهل الاستخدام ويوفر واجهة برمجة تطبيقات بسيطة وتوضيحية تجعل من السهل البدء.
يمكنك import.svg في مشروع React Native الخاص بك بنفس الطريقة التي تستخدمها في تطبيق الويب باستخدام مكتبة reaction-native-svg-transformer. تسمح طريقة مطابقة الكود هذه لـ React Native و Web بمشاركة نفس الكود. يتطلب TypeScript الملف .d ، الذي يحتوي على هذا النوع من الكتابة. إذا لم يكن ملف thesvgrrc متاحًا ، فيمكنك إنشاؤه في المجلد الجذر لمشروعك (إذا كان كذلك). بمعنى آخر ، استبدل السطرAttrValues بكود سداسي عشري يتطابق مع سمة التعبئة لملف svg ، ثم تأكد من أن علامة المسار في الملف .svg تملأ رمز القيمة المحددة (على سبيل المثال ، # 000). سيتم استخدام صورتك كمكون في هذه الخطوة. يتم استخدامه مع كلمة jest. لاستخدام Jest لاختبار مكونات React Native التي تستورد صورًا ، يجب عليك إنشاء هذا التكوين ، الذي يسخر من الصورة.
Svgr - مكتبة React الأصلية لتحويل Svg بسهولة إلى مكونات تفاعل
إنها مكتبة React Native يمكن استخدامها لتحويل SVG ثابت إلى مكون React. يجب إدخال SVG قبل أن يمكن تحويله إلى تنسيق آخر ، مثل تنسيق React. تأكد من تعيين مربع الاختيار الأصلي أثناء لصق محتويات ملف SVG في React-SVGR. يمكننا استخدامه لنسخ ولصق مخرجاتنا في مشروعنا.
رد فعل-أصلية-دائرة SVG
يعد مكون دائرة React Native SVG طريقة رائعة لإنشاء أشكال بسيطة وأنيقة في تطبيقك. إنه سهل الاستخدام ومتعدد الاستخدامات للغاية ، مما يتيح لك إنشاء دوائر من أي حجم ولون.
خلال السلسلة ، سنتناول جوانب مختلفة من React Native. سنحتاج إلى تطبيق React Native لجعل HTML5 يعمل. يجب تعديل هذه الحزمة لتتوافق مع التطبيق بعدة طرق اعتمادًا على إصدارها. تعد القدرة على رسم SVGs الخاصة بنا جانبًا مثيرًا ، ولكن يجب علينا أولاً إنشاء SVG بأيقونات يمكننا استخدامها. جميع أيقونات Feather هي مكونات React. ماذا سيحدث إذا كان لدينا ملف SVG أردنا استخدامه؟ يقدم لنا Kristerkari رد فعل محول SVG الأصلي.
سنقوم بعد ذلك بتغيير التكوين metro الخاص بنا للتعامل مع تحويل SVG. يجب أن نقدم بعض الحجج إذا أردنا أن تكون ملونة وإذا كانت قابلة للتخصيص على الإطلاق ، اعتمادًا على SVG. في هذه المقالة ، سوف نستعرض كيفية تضمين SVGs في React Native باستخدام ثلاث طرق مختلفة. سنكون ممتنين لو تركت تعليقًا أدناه أو الارتباط بأي من روابط مواقع الويب الأخرى الخاصة بالمؤلف. لن يكون ستيفن كافندر قادرًا على النشر على الموقع بعد عدم نشره ، وسيتم إخفاء منشوراته. لا يزال بإمكانهم النشر من لوحة القيادة الخاصة بهم.
مرشح React-native-svg
React-native-svg-filter هي مكتبة تسمح لك بتطبيق مرشحات svg على صورك. إنه سهل الاستخدام ويوفر واجهة بسيطة لإنشاء المرشحات وتطبيقها.
في هذا الفيديو ، يشرح Jaka Tertinek كيفية التعامل مع الصور في React Native. هناك عملية أكثر تعقيدًا من نظام iOS (حيث يمكنك السحب والإفلات). يتم التعامل مع جميع الملفات بواسطة Xcode و IDE (يتم حفظ الملفات في Xcode ويتم حفظ الملفات في IDE). بمجرد إعداد كل شيء ، سيظل بسيطًا وسهل الاستخدام. عند استخدام مكتبة مثل SVGR لتحويل الملفات التي تم استيرادها .svg ، يسمح لك برنامج response-native-svg-transformer باستيراد ملفات .svg مباشرةً إلى مشروعات React Native ، والتي ستكون بنفس الطريقة التي تستخدمها في تطبيق الويب. يمكن تحويل الصور إلى مكونات React باستخدام sva. تتضمن العملية الخطوات التالية.
تفاعل مع رسوم المتجهات القابلة للتحجيم الأصلية
توفر React Native Scalable Vector Graphics (SVG) معيارًا قائمًا على XML للرسومات المتجهة على الويب. وهي مدعومة من قبل جميع المتصفحات الحديثة ويمكن استخدامها لإنشاء تصميمات سريعة الاستجابة تتناسب مع أي حجم شاشة.
تنسيق Svg مثالي للتفاعل الأصلي
من أجل عرض بياناتك بشكل صحيح وإظهار أفضل مظهر لها على أي جهاز ، يجب عليك استخدام أفضل تنسيق. نظرًا لحجمه ، يعد تنسيق SVG مناسبًا تمامًا لـ React Native لأنه لا يمكن تصغيره. من خلال دمج الرسومات والأيقونات في تطبيقك ، ستتمكن من عرضها. علاوة على ذلك ، يتيح لك رد فعل أصلي-svg إنشاء رسوم متحركة وتفاعل مع SVGs ، بالإضافة إلى استخدام الرسوم المتحركة والتفاعلية. نظرًا لطبيعته الديناميكية ، فهو مثالي لعرض الرسومات والرموز الديناميكية والتفاعلية. نظرًا لقدرته على التوسع بلا حدود ودعم الرسومات التفاعلية والرسوم المتحركة ، فإن svg هو أفضل تنسيق لـ React Native.
الأصلي Svg محول
لا يوجد شيء مثل "محول svg أصلي". SVG هو تنسيق رسومات متجهة ، لذا فإن أي تحويل يمكن تطبيقه على رسومات متجهة يمكن تطبيقه على ملف SVG. ومع ذلك ، لا توجد ميزات تحويل SVG محددة مضمنة في معظم برامج تحرير الرسومات المتجهة.
إذا كنت تستخدم المحول التفاعلية - الأم - svg - فيمكنك استيراد ملفات .svg بنفس الطريقة التي تستخدمها في تطبيق الويب. نتيجة لذلك ، يمكن مشاركة الكود المستخدم لإنشاء React Native و Web. يمكن إضافة هذا إلى تصريح إذا كنت تستخدم TypeScript. إذا لم يكن لديك ملف d.ts بالفعل ، فيمكنك إنشاء واحد (تأكد من وجوده في مكان آخر). ملف (لا يمكن العثور عليه في المجلد الجذر لمشروعك) لجعله. قم بإنشاء سطر لـ replaceAttrValues يطابق رمز سداسي عشري إلى props.fill ، ثم انسخ علامة المسار التي أنشأتها في سمة تعبئة ملف .svg في حقل ReplaceAttrValues (في هذه الحالة # 000). يمكنك بعد ذلك استخدام صورتك كمكون. تم استخدام هذا بالاقتران مع الفعل jest. لاختبار تكامل الصورة لمكونات React Native المستوردة من from.svg ، ستحتاج إلى إضافة تكوين الصورة الوهمي هذا.
ما هو Svgr؟
تتيح أداة SVGR العالمية تحويل SVG إلى مكونات React.
كيف يمكنني استخدام Svg في React Native Expo؟
عندما يتم إدخال SVG ، يمكن تحويله إلى تنسيق جديد يعمل مع React ، مثل تنسيق JPEG. يمكن نقل محتويات ملف SVG المُصدَّر إلى React-SVGR عن طريق تحديد الزر الأصلي. سنكون قادرين على نسخ ولصق الناتج منه في مشروعنا بعد إنشائه.
كيف تغير لون Svg في React Native؟
عند تغيير لون SVG في React ، لا تضبط خصائص التعبئة والحد. عند استيراد مكون ، استخدم SVG كمكون. يجب تعيين دعائم التعبئة والحد للمكون ، مثل * My Logo fill and stroke * yellow [/ arrow]