المكونات والواجهات البرمجية في React Native
يوفر React Native عددًا من المكونات المضمنة. ستجد قائمة كاملة بالمكونات وواجهات برمجة التطبيقات على الصفحة الرئيسيّة للتوثيق. إذا لم تكن متأكدًا من أين تبدأ، فألقِ نظرة على الفئات التالية:
- المكونات الأساسيّة
- واجهة المستخدم
- عروض القوائم
- ميّزات خاصّة بمنصّة iOS
- ميّزات خاصّة بمنصّة Android
- ميّزات أخرى
مُجتمع React Native مجتمعٌ يضمّ آلاف المطورين. إذا كنت تبحث عن مكتبة تؤدّي مهمّة معينة، فابحث على سجل npm للحزم التي تشير إلى react-native
، أو انظر مشروع Awesome React Native الذي يوفّر قائمة منسّقة تحتوي على العديد من المكونات، والدروس، والأمثلة، ومواد أخرى..
المكونات الأساسيّة
تستخدم معظم التطبيقات أحد هذه المكونات الأساسية، ستحتاج إلى التعرف عليها لبناء تطبيقات React Native:
-
View
: المكون الأساسي لبناء واجهة المستخدم. - :
Text
مُكوّنٌ لعرض النص. -
Image
: مُكوّنٌ لعرض الصور. -
TextInput
: مُكوّنٌ لإدخال النص في التطبيق عبر لوحة المفاتيح. -
ScrollView
: يوفرُ حاوية تمرير يمكنها احتواء عدّة مكونات. -
StyleSheet
: يوفر طبقة تجريد مشابهة لأنماط CSS.
واجهة المستخدم
-
Button
: زر للتعامل مع اللمسات. -
Picker
: يُصيِّر مكونَ الانتقاء الأصيلٍ على iOS و Android. -
Slider
: مكون يُستخدَم لتحديد قيمة واحدةٍ من بين مجموعة من القيم. -
Switch
: مُكوّن لإدخال قيمة منطقيّة (boolean input).
عروض القوائم
على النّقيض من مكوّن ScrollView
الأكثر عمومية، فالمُكوّنات التالية تعرض العناصر الظاهرة على الشاشة فقط. ما يجعلها مناسبة لعرض قوائم طويلة من البيانات.
-
FlatList
: مكون لعرض قائمة قابلة للتمرير بطريقة فعّالة وأحسن أداءً. -
SectionList
: مشابه للمكوّن FlatList
لكنّه يُستخدَم للقوائم المُقسَّمة إلى أقسام.
ميّزات خاصّة بمنصّة iOS
توفر العديد من المكونات التالية أغلفةً لأصنافUIKit شائعة الاستخدام.
-
ActionSheetIOS
: واجهة برمجة تطبيقاتٍ (API) لعرض ورقة إجراءات في iOS أو ورقة مشاركة. -
AlertIOS
: إنشاء مربع حوار تنبيه iOS مع رسالة أو إنشاء محثّ (prompt) للحصول على مدخلات من المستخدم. -
DatePickerIOS
: مكون لاختيار التاريخ والوقت على iOS. -
ImagePickerIOS
: اختيار صورة. -
NavigatorIOS
: مكون تنقّل يُغلّف الصنف UINavigationController
. -
ProgressViewIOS
: يُصيِّر عرض UIProgressView
. -
PushNotificationIOS
: التعامل مع التنبيهات، ما يشمل الصلاحيات وعلامة عدد التنبيهات فوق الأيقونة. -
SegmentedControlIOS
: يُصيِّر عرض UISegmentedControl
. -
TabBarIOS
: يُصيِّر عرض UITabViewController
. استعمله مع TabBarIOS.Item
.
ميّزات خاصّة بمنصّة Android
توفر العديد من المكونات التالية أغلفةً لأصنافAndroid شائعة الاستخدام.
-
BackHandler
: التعرّف على ضغطة زر الجهاز الخاصّ بالتنقّل إلى الوراء. -
DatePickerAndroid
: مربع حوار اختيار التاريخ العادي في Android. -
DrawerLayoutAndroid
: يُصيِّر عرض DrawerLayout
. -
PermissionsAndroid
: يوفر الوصول إلى نموذج الصلاحيات الذي ظهر في نسخة Android M.. -
ProgressBarAndroid
: يُصيِّر عرض ProgressBar
. -
TimePickerAndroid
: مربع حوار اختيار الوقت العادي في Android. -
ToastAndroid
: إنشاء تنبيه Android Toast. -
ToolbarAndroid
: يُصيِّر عرض Toolbar
. -
ViewPagerAndroid
: حاوية تسمح بالتنقل يسارًا ويمينًا بين العروض الأطفال (child views).
ميّزات أخرى
قد تكون هذه المكونات مفيدة في بعض التطبيقات. للحصول على قائمة شاملة بالمكونات وواجهات برمجة التطبيقات، انظر الصفحة الرئيسيّة للتوثيق.
-
ActivityIndicator
: يعرض مؤشر تحميلٍ دائري. -
Alert
: يطلق مربع حوار تنبيه مع العنوان والرسالة المحددين. -
Animated
: مكتبة لإنشاء تحريكات مرنة وفعالة يسهل بناءها وصيانتها. -
CameraRoll
: يوفر الوصول إلى معرض الكاميرا المحلي. -
Clipboard
: يوفر واجهة لضبط المحتوى والحصول عليه من الحافظة (clipboard) على كل من iOS و Android. -
Dimensions
: يوفر واجهة للحصول على أبعاد الجهاز. -
KeyboardAvoidingView
: يوفر عرضًا يتنقل تلقائيًا بعيدًا عن لوحة المفاتيح الوهميّة. -
Linking
: يوفر واجهة عامة للتفاعل مع كل من روابط التطبيقات الواردة والصادرة. -
Modal
: يوفر طريقة بسيطة لتقديم المحتوى فوق عرضٍ مُطوَّق. -
PixelRatio
: يوفر الوصول إلى كثافة البكسل (pixel density) الخاصّة بالجهاز. -
RefreshControl
: يُستخدَم هذا المكون داخل ScrollView لإضافة وظيفة السحب للتحديث (pull to refresh). -
StatusBar
: مكون للتحكم في شريط حالة التطبيقات. -
WebView
: مكون يعرض محتوى الويب في عرض أصيل (native view).