الفرق بين المراجعتين لصفحة: «ReactNative/layout props»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:Layout Props في React Native}}</noinclude> <blockquote>لمزيد من المعلومات حول هذه الخاصيَّات يمكن زيا...'
 
ط مراجعة
سطر 3: سطر 3:
__toc__
__toc__
== مثال ==
== مثال ==
يبين المثال التّالي كيف يمكن للخاصيَّات المختلفة أن تشكِّل تخطيط React Native، أو تؤثّر عليه، فمثلًا يمكن تجريب إضافة المربعات، أو إزالتها من واجهة المستخدم (UI)، مع تغيير قيم الخاصيّة <code>flexWrap</code>.<syntaxhighlight lang="javascript">
يبين المثال التّالي كيف يمكن للخاصيَّات المختلفة تشكيل تخطيط [[ReactNative|React Native]]، أو تؤثّر عليه، فمثلًا يمكن تجريب إضافة المربعات، أو إزالتها من واجهة المستخدم (UI)، مع تغيير قيم الخاصيّة <code>flexWrap</code>.<syntaxhighlight lang="javascript">
import React, { useState } from 'react';
import React, { useState } from 'react';
import { Button, ScrollView, StyleSheet, Text, View } from 'react-native';
import { Button, ScrollView, StyleSheet, Text, View } from 'react-native';
سطر 169: سطر 169:
!مطلوب
!مطلوب
|-
|-
|قيمة اسمية ‪(enum('flex-start', 'flex-end', 'center', 'stretch', 'space-between', 'space-around'))
|<code>('enum ('flex-start', 'flex-end', 'center', 'stretch', 'space-between', 'space-around</code>
|لا
|لا
|}
|}
سطر 179: سطر 179:
!مطلوب
!مطلوب
|-
|-
|قيمة اسمية ‪(enum('flex-start', 'flex-end', 'center', 'stretch', 'baseline'))
|<code>('enum ('flex-start', 'flex-end', 'center', 'stretch', 'baseline</code>
|لا
|لا
|}
|}


=== <code>alignSelf</code> ===
=== <code>alignSelf</code> ===
تتحكّم <code>alignSelf</code> بكيفيّة محاذاة المكوّن الابن وفق الاتجاه المتعامد مع اتجاه الصف متجاهلةً <code>alignItems</code> للمكوّن الأب، وتعمل بشكلٍ مشابهٍ للخاصيّة <code>align-self</code> في (CSS (default:auto،  ويمكن زيارة الصّفحة [[CSS/align-self|align-self]] لمزيدٍ من المعلومات.  
تتحكّم الخاصية <code>alignSelf</code> بكيفيّة محاذاة المكوّن الابن وفق الاتجاه المتعامد مع اتجاه الصف متجاهلةً <code>alignItems</code> للمكوّن الأب، وتعمل بشكلٍ مشابهٍ للخاصيّة <code>align-self</code> في (CSS (default:auto،  ويمكن زيارة الصّفحة [[CSS/align-self|align-self]] لمزيدٍ من المعلومات.  
{| class="wikitable"
{| class="wikitable"
!النوع
!النوع
!مطلوب
!مطلوب
|-
|-
|قيمة اسمية ‪(enum('auto', 'flex-start', 'flex-end', 'center', 'stretch', 'baseline'))
|<code>‪enum ('auto', 'flex-start', 'flex-end', 'center', 'stretch', 'baseline')</code>
|لا
|لا
|}
|}


=== <code>aspectRatio</code> ===
=== <code>aspectRatio</code> ===
تتحكم <code>aspectRatio</code> بمقاس بُعد (dimension) العقدة غير المحدَّد، وهذه الخاصّيّة غير معياريّةٍ، حيث تُستخدم فقط في React Native، ولا تُستخدم في CSS.
تتحكم <code>aspectRatio</code> بمقاس بُعد (dimension) العقدة غير المحدَّد، وهذه الخاصّيّة غير معياريّةٍ، حيث تُستخدم فقط في [[ReactNative|React Native]]، ولا تُستخدم في [[CSS]].


* تتحكم <code>aspectRatio</code> بمقاس البُعد غير المحدد في العقد التي حُدد فيها العرض، أو الارتفاع.
* تتحكم <code>aspectRatio</code> بمقاس البُعد غير المحدد في العقد التي حُدد فيها العرض، أو الارتفاع.
* تتحكم <code>aspectRatio</code> بمقاس العقدة وفق المحور المتعامد مع المحور الرئيسي (cross axis)، في حال لم يكن محددًا في العقد التي حدّد فيها الأساس المرن (flex basis).
* تتحكم <code>aspectRatio</code> بمقاس العقدة وفق المحور المتعامد مع المحور الرئيسي (cross axis)، في حال لم يكن محددًا في العقد التي حدّد فيها الأساس المرن (flex basis).
* تقيس <code>aspectRatio</code> الأساس المرن من خلال دالّة القياس في العقد المزودة بدالّة قياسٍ.  
* تقيس <code>aspectRatio</code> الأساس المرن من خلال دالّة القياس في العقد المزودة بدالّة قياسٍ.  
* تتحكم <code>aspectRatio</code> بمقاس العقدة وفق المحور المتعامد مع المحور الرئيسيّ، في حال لم يكن محدّدًا في العقد المزودة بالتصغير (shrink)، أو التكبير (grow) المرن.
* تتحكم <code>aspectRatio</code> بمقاس العقدة وفق المحور المتعامد مع المحور الرئيسيّ، في حال لم يكن محدّدًا في العقد المزودة بالتصغير (shrink)، أو التّكبير (grow) المرن.
* تأخذ <code>aspectRatio</code> الأبعاد الأصغرية، أو الأعظمية بعين الاعتبار.
* تأخذ <code>aspectRatio</code> الأبعاد الأصغرية، أو الأعظمية بعين الاعتبار.


سطر 281: سطر 281:


=== <code>bottom</code> ===
=== <code>bottom</code> ===
تحدد <code>bottom</code> مقدار إزاحة الحافّة السّفليّة للمكوّن بالبكسلات (pixels)، وتعمل بشكلٍ مشابهٍ للخاصيّة <code>bottom</code> في CSS، إلا أنه يجب استعمال عدد النقاط، أو النسبة المئوية فقط في React Native، ولا تُقبل الوحدة em، أو الوحدات الأخرى، ويمكن زيارة الصّفحة [[CSS/bottom|bottom]] لمزيدٍ من المعلومات.
تحدد <code>bottom</code> مقدار إزاحة الحافّة السّفليّة للمكوّن بالبكسلات (pixels)، وتعمل بشكلٍ مشابهٍ للخاصيّة <code>bottom</code> في CSS، إلا أنّه يجب استعمال عدد النقاط، أو النّسبة المئويّة فقط في React Native، ولا تُقبل الوحدة em، أو الوحدات الأخرى، ويمكن زيارة الصّفحة [[CSS/bottom|bottom]] لمزيدٍ من المعلومات.
{| class="wikitable"
{| class="wikitable"
!النوع
!النوع
سطر 291: سطر 291:


=== <code>direction</code> ===
=== <code>direction</code> ===
تحدد <code>direction</code> اتجاه المحتوى (directional flow) لواجهة المستخدم، وقيمتها الافتراضية هي دائمًا <code>inherit</code>، باستثناء عقدة الجذر (root node)، والتي ستكون قيمتها قائمةً على أساس الموقع الحالي، ويمكن زيارة الصّفحة [https://yogalayout.com/docs/layout-direction layout-direction] لمزيدٍ من المعلومات.
تحدد <code>direction</code> اتجاه المحتوى (directional flow) لواجهة المستخدم، وقيمتها الافتراضية هي دائمًا <code>inherit</code>، باستثناء عقدة الجذر (root node)، والتّي ستكون قيمتها قائمةً على أساس الموقع الحالي، ويمكن زيارة الصّفحة [https://yogalayout.com/docs/layout-direction layout-direction] لمزيدٍ من المعلومات.
{| class="wikitable"
{| class="wikitable"
!النوع
!النوع
سطر 297: سطر 297:
!المنصة
!المنصة
|-
|-
|قيمة اسمية ‪(enum('inherit', 'ltr', 'rtl'))
|<code>‪enum ('inherit', 'ltr', 'rtl')</code>
|لا
|لا
|iOS
|iOS
سطر 308: سطر 308:
!مطلوب
!مطلوب
|-
|-
|قيمة اسمية ‪(enum('none', 'flex'))
|<code>('enum('none', 'flex</code>
|لا
|لا
|}
|}
سطر 358: سطر 358:
!مطلوب
!مطلوب
|-
|-
|قيمة اسمية ‪(enum('row', 'row-reverse', 'column', 'column-reverse'))
|<code>‪enum ('row', 'row-reverse', 'column', 'column-reverse')</code>
|لا
|لا
|}
|}
سطر 390: سطر 390:
!مطلوب
!مطلوب
|-
|-
|قيمة اسمية ‪(enum('wrap', 'nowrap', 'wrap-reverse'))
|<code>‪enum ('wrap', 'nowrap', 'wrap-reverse')</code>
|لا
|لا
|}
|}
سطر 410: سطر 410:
!مطلوب
!مطلوب
|-
|-
|قيمة اسمية ‪(enum('flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'space-evenly'))
|<code>‪enum ('flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'space-evenly')</code>
|لا
|لا
|}
|}
سطر 560: سطر 560:
!مطلوب
!مطلوب
|-
|-
|قيمة اسمية ‪(enum('visible', 'hidden', 'scroll'))
|<code>‪enum ('visible', 'hidden', 'scroll')</code>
|لا
|لا
|}
|}
سطر 662: سطر 662:
!مطلوب
!مطلوب
|-
|-
|قيمة اسمية ‎‏‪ (enum('absolute', 'relative'))
|<code>‎‏‪ enum ('absolute', 'relative')</code>
|لا
|لا
|}
|}

مراجعة 10:16، 21 يناير 2021

لمزيد من المعلومات حول هذه الخاصيَّات يمكن زيارة الصّفحة التخطيط باستخدام Flexbox.

مثال

يبين المثال التّالي كيف يمكن للخاصيَّات المختلفة تشكيل تخطيط React Native، أو تؤثّر عليه، فمثلًا يمكن تجريب إضافة المربعات، أو إزالتها من واجهة المستخدم (UI)، مع تغيير قيم الخاصيّة flexWrap.

import React, { useState } from 'react';
import { Button, ScrollView, StyleSheet, Text, View } from 'react-native';
import Constants from 'expo-constants';

const App = () => {
  const flexDirections = ['row', 'row-reverse', 'column', 'column-reverse'];
  const justifyContents = [
    'flex-start',
    'flex-end',
    'center',
    'space-between',
    'space-around',
    'space-evenly',
  ];
  const alignItemsArr = [
    'flex-start',
    'flex-end',
    'center',
    'stretch',
    'baseline',
  ];
  const wraps = ['nowrap', 'wrap', 'wrap-reverse'];
  const directions = ['inherit', 'ltr', 'rtl'];
  const [flexDirection, setFlexDirection] = useState(0);
  const [justifyContent, setJustifyContent] = useState(0);
  const [alignItems, setAlignItems] = useState(0);
  const [direction, setDirection] = useState(0);
  const [wrap, setWrap] = useState(0);

  const hookedStyles = {
    flexDirection: flexDirections[flexDirection],
    justifyContent: justifyContents[justifyContent],
    alignItems: alignItemsArr[alignItems],
    direction: directions[direction],
    flexWrap: wraps[wrap],
  };

  const changeSetting = (value, options, setterFunction) => {
    if (value == options.length - 1) {
      setterFunction(0);
      return;
    }
    setterFunction(value + 1);
  };

  const Square = () => {
    const sqStyle = {
      width: 50,
      height: 50,
      backgroundColor: randomHexColor(),
    };
    return <View style={sqStyle} />;
  };
  const [squares, setSquares] = useState([Square(), Square(), Square()]);
  return (
    <>
      <View style={{ paddingTop: Constants.statusBarHeight }} />
      <View style={[styles.container, styles.playingSpace, hookedStyles]}>
        {squares.map(elem => elem)}
      </View>
      <ScrollView style={[styles.container]}>
        <View style={[styles.controlSpace]}>
          <View style={styles.buttonView}>
            <Button
              title="Change Flex Direction"
              onPress={() =>
                changeSetting(flexDirection, flexDirections, setFlexDirection)
              }
            />
            <Text style={styles.text}>{flexDirections[flexDirection]}</Text>
          </View>
          <View style={styles.buttonView}>
            <Button
              title="Change Justify Content"
              onPress={() =>
                changeSetting(
                  justifyContent,
                  justifyContents,
                  setJustifyContent
                )
              }
            />
            <Text style={styles.text}>{justifyContents[justifyContent]}</Text>
          </View>
          <View style={styles.buttonView}>
            <Button
              title="Change Align Items"
              onPress={() =>
                changeSetting(alignItems, alignItemsArr, setAlignItems)
              }
            />
            <Text style={styles.text}>{alignItemsArr[alignItems]}</Text>
          </View>
          <View style={styles.buttonView}>
            <Button
              title="Change Direction"
              onPress={() => changeSetting(direction, directions, setDirection)}
            />
            <Text style={styles.text}>{directions[direction]}</Text>
          </View>
          <View style={styles.buttonView}>
            <Button
              title="Change Flex Wrap"
              onPress={() => changeSetting(wrap, wraps, setWrap)}
            />
            <Text style={styles.text}>{wraps[wrap]}</Text>
          </View>
          <View style={styles.buttonView}>
            <Button
              title="Add Square"
              onPress={() => setSquares([...squares, Square()])}
            />
          </View>
          <View style={styles.buttonView}>
            <Button
              title="Delete Square"
              onPress={() =>
                setSquares(squares.filter((v, i) => i != squares.length - 1))
              }
            />
          </View>
        </View>
      </ScrollView>
    </>
  );
};

const styles = StyleSheet.create({
  container: {
    height: '50%',
  },
  playingSpace: {
    backgroundColor: 'white',
    borderColor: 'blue',
    borderWidth: 3,
  },
  controlSpace: {
    flexDirection: 'row',
    flexWrap: 'wrap',
    backgroundColor: '#F5F5F5',
  },
  buttonView: {
    width: '50%',
    padding: 10,
  },
  text: { textAlign: 'center' },
});

const randomHexColor = () => {
  return '#000000'.replace(/0/g, () => {
    return (~~(Math.random() * 16)).toString(16);
  });
};

export default App;

الخاصيّات

alignContent

تتحكّم alignContent بكيفيّة محاذاة الصّفوف وفق الاتجاه الآخر العموديّ عليه (cross direction)، متجاهلةً alignContent للأب (parent)، ولمزيد من المعلومات يمكن زيارة الصفحة align-content.

النوع مطلوب
('enum ('flex-start', 'flex-end', 'center', 'stretch', 'space-between', 'space-around لا

alignItems

تحاذي alignItems المكونات الأبناء (children) وفق الاتجاه المتعامد مع اتجاه الصف، حيث تتحكّم الخاصيّة alignItems بكيفيّة محاذاة المكوّنات الأبناء أفقيًّا، في حال كانت مصفوفةً عموديًّا، وتعمل بشكلٍ مشابهٍ للخاصيّة align-items في ‏(‫‎CSS (default:stretch، ويمكن زيارة الصّفحة align-items لمزيدٍ من المعلومات.

النوع مطلوب
('enum ('flex-start', 'flex-end', 'center', 'stretch', 'baseline لا

alignSelf

تتحكّم الخاصية alignSelf بكيفيّة محاذاة المكوّن الابن وفق الاتجاه المتعامد مع اتجاه الصف متجاهلةً alignItems للمكوّن الأب، وتعمل بشكلٍ مشابهٍ للخاصيّة align-self في (CSS (default:auto، ويمكن زيارة الصّفحة align-self لمزيدٍ من المعلومات.

النوع مطلوب
‪enum ('auto', 'flex-start', 'flex-end', 'center', 'stretch', 'baseline') لا

aspectRatio

تتحكم aspectRatio بمقاس بُعد (dimension) العقدة غير المحدَّد، وهذه الخاصّيّة غير معياريّةٍ، حيث تُستخدم فقط في React Native، ولا تُستخدم في CSS.

  • تتحكم aspectRatio بمقاس البُعد غير المحدد في العقد التي حُدد فيها العرض، أو الارتفاع.
  • تتحكم aspectRatio بمقاس العقدة وفق المحور المتعامد مع المحور الرئيسي (cross axis)، في حال لم يكن محددًا في العقد التي حدّد فيها الأساس المرن (flex basis).
  • تقيس aspectRatio الأساس المرن من خلال دالّة القياس في العقد المزودة بدالّة قياسٍ.
  • تتحكم aspectRatio بمقاس العقدة وفق المحور المتعامد مع المحور الرئيسيّ، في حال لم يكن محدّدًا في العقد المزودة بالتصغير (shrink)، أو التّكبير (grow) المرن.
  • تأخذ aspectRatio الأبعاد الأصغرية، أو الأعظمية بعين الاعتبار.
النوع مطلوب
عدد (number) لا

borderBottomWidth

تعمل borderBottomWidth بشكلٍ مشابهٍ للخاصيّة border-bottom-width في CSS، ويمكن زيارة الصّفحة border-bottom-width لمزيدٍ من المعلومات.

النوع مطلوب
عدد (number) لا

borderEndWidth

تكافئ borderEndWidth الخاصيّة borderRightWidth عندما يكون الاتّجاه من اليسار إلى اليمين ltr، بينما تكافئ الخاصيّة borderLeftWidth عندما يكون الاتّجاه من اليمين إلى اليسار rtl.

النوع مطلوب
عدد (number) لا

borderLeftWidth

تعمل borderLeftWidth بشكلٍ مشابهٍ للخاصيّة border-left-width في CSS، ويمكن زيارة الصّفحة border-left-width لمزيدٍ من المعلومات.

النوع مطلوب
عدد (number) لا

borderRightWidth

تعمل borderRightWidth بشكلٍ مشابهٍ للخاصيّة border-right-width في CSS، ويمكن زيارة الصّفحة border-right-width لمزيدٍ من المعلومات.

النوع مطلوب
عدد (number) لا

borderStartWidth

تكافئ borderStartWidth الخاصيّة borderLeftWidth عندما يكون الاتّجاه من اليسار إلى اليمين ltr، بينما تكافئ الخاصيّة borderRightWidth عندما يكون الاتّجاه من اليمين إلى اليسار rtl.

النوع مطلوب
عدد (number) لا

borderTopWidth

تعمل borderTopWidth بشكل مشابه للخاصيّة border-top-width في CSS، ويمكن زيارة الصفحة border-top-width لمزيدٍ من المعلومات.

النوع مطلوب
عدد (number) لا

borderWidth

تعمل borderWidth بشكلٍ مشابهٍ للخاصيّة border-width في CSS، ويمكن زيارة الصّفحة border-width لمزيدٍ من المعلومات.

النوع مطلوب
عدد (number) لا

bottom

تحدد bottom مقدار إزاحة الحافّة السّفليّة للمكوّن بالبكسلات (pixels)، وتعمل بشكلٍ مشابهٍ للخاصيّة bottom في CSS، إلا أنّه يجب استعمال عدد النقاط، أو النّسبة المئويّة فقط في React Native، ولا تُقبل الوحدة em، أو الوحدات الأخرى، ويمكن زيارة الصّفحة bottom لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

direction

تحدد direction اتجاه المحتوى (directional flow) لواجهة المستخدم، وقيمتها الافتراضية هي دائمًا inherit، باستثناء عقدة الجذر (root node)، والتّي ستكون قيمتها قائمةً على أساس الموقع الحالي، ويمكن زيارة الصّفحة layout-direction لمزيدٍ من المعلومات.

النوع مطلوب المنصة
‪enum ('inherit', 'ltr', 'rtl') لا iOS

display

تحدّد display نمط إظهار المكوّن، وتعمل بشكلٍ مشابهٍ للخاصيّة display في CSS، إلا أنها تدعم flex، وnon، حيث flex هو النّمط الافتراضيّ.

النوع مطلوب
('enum('none', 'flex لا

end

تكافئ end الخاصيّة right عندما يكون الاتجاه من اليسار إلى اليمين ltr، بينما تكافئ الخاصيّة left عندما يكون الاتجاه من اليمين إلى اليسار rtl، ولهذا التنسيق أولويّةٌ على التنسيقين left، وright.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

flex

تعمل flex في React Native بشكل مختلفٍ عن عملها في CSS، فهي عددٌ وليست سلسلةً نصيّةً، وتعمل وفق Yoga.

  • عندما تكون قيمة الخاصيّة flex عددًا موجبًا، فإنها تجعل المكوِّن مرنًا، ويتغيّر حجمه بشكلٍ يتناسب مع هذه القيمة، وبالتالي فالمكوِّن الذي تكون قيمة flex = 2 سيَشغل حيّزًا مضاعفًا مقارنة بالمكون الذي تكون قيمة flex = 1، وتكون القيمة flex: <positive number> مساويةً للقيمة flexGrow: <positive number>, flexShrink: 1, flexBasis: 0.
  • عندما تكون قيمة الخاصيّة flex مساوية للصفر يصبح المكوّن غير مرنٍ، ويكون حجمه حسب width، وheight.
  • عندما تكون قيمة الخاصيّة flex مساوية -1 يكون حجم المكوّن قائمًا على width، وheight، إلا أنه يمكن تصغير القيم minWidth، وminHeight عند عدم توفّر حيّز كافٍ.

تعمل الخاصيّات flexGrow، وflexShrink، وflexBasis بشكلٍ مشابهٍ لعملها في CSS.

النوع مطلوب
عدد (number) لا

flexBasis

flexBasis هي طريقةٌ مستقلّةٌ عن المحاور (axis-independent) لإعطاء العنصر حجمًا افتراضيًّا على طول المحور الرئيسي، ويتشابه إعداد flexBasis للمكوّن الابن مع إعداد width للمكوّن الابن، إذا كان الأب حاويةً ذات flexDirection: row، أو مع إعداد height للمكوّن الابن، إذا كان الأب عبارة عن حاويةً ذات flexDirection: column. وتمثّل الخاصية flexBasis الحجم الافتراضيّ للعنصر قبل أن تطبّق عليه الخاصيّات flexShrink، وflexGrow.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

flexDirection

تحدد flexDirection الاتجاه الذي سيتحرك به المكون الابن في الحاوية، فإذا كانت قيمتها row فإنه سيتحرك من اليسار إلى اليمين، وإذا كانت column فإنه سيتحرك من الأعلى إلى الأسفل، وتعمل flexDirection بشكلٍ مشابهٍ للخاصيّة flex-direction في CSS.

يمكنك زيارة الصّفحة flex-direction لمزيدٍ من المعلومات.

النوع مطلوب
‪enum ('row', 'row-reverse', 'column', 'column-reverse') لا

flexGrow

تصف flexGrow كيفيّة توزيع الفراغ بين المكوّنات الأبناء ضمن الحاوية على طول المحور الرئيسيّ، حيث توزّع الحاوية -بعد وضع المكونات الأبناء- الفراغات المتبقية بينها، بناءً على قيمة flexGrow الخاصّة بكلّ مكوّن ابن، وتقبل flexGrow أيّ قيمةٍ عشريّةٍ أكبر من الصفر، أو تساويها، والصفر هو قيمتها الافتراضيّة.

النوع مطلوب
عدد (number) لا

flexShrink

تصف flexShrink كيفيّة تصغير المكونات الأبناء على طول المحور الرئيسي عندما يكون الحجم الكليّ للمكوّنات الأبناء يفوق حجم الحاوية على طول المحور الرئيسيّ، وهذه الخاصيّة شبيهةٌ جدًا بالخاصيّة flexGrow عند اعتبار الحجم الزائد بمثابة فراغٍ متبقٍّ سالب القيمة، وتتعاون هاتان الخاصيتان فيما بينهما للسماح للمكونات الأبناء بالتمدد والتقلص حسب الحاجة، وتقبل flexGrow أيّ قيمةٍ عشريّةٍ أكبر من الصفر أو تساويها، والواحد هو قيمتها الافتراضيّة، وتقلص الحاوية المكونات الأبناء بشكلٍ متناسبٍ مع قيمة flexShrink.

النوع مطلوب
عدد (number) لا

flexWrap

تتحكم flexWrap بقدرة المكوّنات الأبناء على الالتفاف عند بلوغها حافة الحاوية، وتعمل بشكلٍ مشابهٍ للخاصيّة flex-wrap في CSS (default: nowrap)، ويمكن زيارة الصّفحة flex-wrap لمزيدٍ من المعلومات.

لاحظ أنه لم تعد هذه الخاصية تعمل مع alignItems: stretch، لذا يمكن استخدام alignItems: flex-start (تفاصيل التغيير العاجل: react-native/releases ).

النوع مطلوب
‪enum ('wrap', 'nowrap', 'wrap-reverse') لا

height

تحدد height ارتفاع المكوّن، و تعمل بشكلٍ مشابهٍ للخاصيّة height في CSS، إلا أنه يجب استعمال عدد النقاط، أو النسبة المئوية فقط في React Native، ولا تُقبل Ems، أو الوحدات الأخرى. ويمكن زيارة الصّفحة height لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

justifyContent

تحاذي justifyContent المكوّنات الأبناء وفق الاتّجاه الرئيسيّ، مثلاً تتحكّم هذه الخاصيّة بطريقة محاذاة المكونات الأبناء عموديّاً، إذا كانت منتشرةً عمودياً، وهي تشابه الخاصيّة justify-content في (CSS (default: flex-start، ويمكن زيارة الصّفحة justifi-content لمزيدٍ من المعلومات.

النوع مطلوب
‪enum ('flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'space-evenly') لا

left

تحدّد left مقدار إزاحة حافّة المكوّن اليسرى بالبكسلات، وتعمل بشكلٍ مشابهٍ للخاصيّة left في CSS، إلا أنه يجب استعمال عدد النقاط، أو النسبة المئوية فقط في React Native، ولا تُقبل Ems، أو الوحدات الأخرى. ويمكن زيارة الصّفحة left لمزيدٍ من المعلومات عن تأثير left على التخطيط.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

margin

margin لها تأثير كلٍّ من الخاصيّات marginTop، وmarginLeft، وmarginBottom، وmarginRight. ويمكن زيارة الصّفحة margin لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

marginBottom

تعمل marginBottom بشكلٍ مشابهٍ للخاصيّة margin-bottom في CSS، ويمكن زيارة الصّفحة margin-bottom لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

marginEnd

تكافئ marginEnd الخاصيّة marginRight عندما يكون الاتجاه من اليسار إلى اليمين ltr، بينما تكافئ الخاصيّة marginLeft، عندما يكون الاتجاه من اليمين إلى اليسار rtl.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

marginHorizontal

marginHorizontal لها تأثير كلا الخاصيّتين marginLeft، وmarginRight.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

marginLeft

تعمل marginLeft بشكلٍ مشابهٍ للخاصيّة margin-left في CSS، ويمكن زيارة الصّفحة margin-left لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

marginRight

تعمل marginRight بشكلٍ مشابهٍ للخاصيّة margin-right في CSS، ويمكن زيارة الصّفحة margin-right لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

marginStart

تكافئ marginStart الخاصيّة marginLeft عندما يكون الاتجاه من اليسار إلى اليمين ltr، بينما تكافئ الخاصيّة marginRight عندما يكون الاتجاه من اليمين إلى اليسار rtl.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

marginTop

تعمل marginTop بشكلٍ مشابهٍ للخاصيّة margin-top في CSS، ويمكن زيارة الصّفحة margin-top لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

marginVertical

marginVertical لها تأثير كلا الخاصيّتين marginTop، وmarginBottom.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

maxHeight

تحدّد maxHeight مقدار الارتفاع الأكبر للمكوّن بالبكسلات، وتعمل بشكلٍ مشابهٍ للخاصيّة max-height في CSS، إلا أنه يجب استعمال عدد النقاط، أو النسبة المئوية فقط في React Native، ولا تُقبل Ems، أو الوحدات الأخرى، ويمكن زيارة الصّفحة max-height لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

maxWidth

تحدّد maxWidth مقدار العرض الأكبر للمكوّن بالبكسلات، وتعمل بشكلٍ مشابهٍ للخاصيّة max-width في CSS، إلا أنه يجب استعمال عدد النقاط، أو النسبة المئوية فقط في React Native، ولا تُقبل Ems أو الوحدات الأخرى، ويمكن زيارة الصّفحة max-width لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

minHeight

تحدد minHeight مقدار الارتفاع الأصغر للمكوّن بالبكسلات، وتعمل بشكلٍ مشابهٍ للخاصيّة min-height في CSS، إلا أنه يجب استعمال عدد النقاط، أو النسبة المئوية فقط في React Native، ولا تُقبل Ems، أو الوحدات الأخرى، ويمكن زيارة الصّفحة min-height لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

minWidth

تحدّد minWidth مقدار العرض الأصغر للمكوّن بالبكسلات، وتعمل بشكلٍ مشابهٍ للخاصيّة min-width في CSS، إلا أنه يجب استعمال عدد النقاط، أو النسبة المئوية فقط في React Native، ولا تُقبل Ems، أو الوحدات الأخرى، ويمكن زيارة الصّفحة min-width لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

overflow

تتحكم overflow بمَقاس المكونات الأبناء وطريقة إظهارها، حيث تجعل الإظهارات مقصوصةً (clipped) عندما تكون قيمتها overflow: hidden، بينما تجعل مَقاس إظهار المكوّنات الأبناء مستقلًا عن الأبعاد الأصغرية للمكونات الآباء إذا كانت قيمتها overflow: scroll، وهي تشابه الخاصيّة overflow في CSS (default:visible). ويمكن زيارة الصّفحة overflow لمزيدٍ من المعلومات.

النوع مطلوب
‪enum ('visible', 'hidden', 'scroll') لا

padding

padding لها تأثير كلٍّ من الخاصيّات paddingTop، وpaddingLeft، وpaddingBottom،وpaddingRight، ويمكن زيارة الصّفحة padding لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

paddingBottom

تعمل paddingBottom بشكلٍ مشابهٍ للخاصيّة padding-Bottom في CSS، ويمكن زيارة الصّفحة padding-bottom لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

paddingEnd

تكافئ paddingEnd الخاصيّة paddingRight عندما يكون الاتجاه من اليسار إلى اليمين ltr، بينما تكافئ الخاصيّة paddingLeft عندما يكون الاتجاه من اليمين إلى اليسار rtl.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

paddingHorizontal

paddingHorizontal لها تأثير كلا الخاصيّتين paddingLeft، وpaddingRight.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

paddingLeft

تعمل paddingLeft بشكلٍ مشابهٍ للخاصيّة padding-left في CSS، ويمكن زيارة الصّفحة padding-left لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

paddingRight

تعمل paddingRight بشكلٍ مشابهٍ للخاصيّة padding-right في CSS، ويمكن زيارة الصّفحة padding-right لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

paddingStart

تكافئ paddingStart الخاصيّة paddingLeft عندما يكون الاتجاه من اليسار إلى اليمين ltr, بينما تكافئ الخاصيّة paddingRight عندما يكون الاتجاه من اليمين إلى اليسار rtl.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

paddingTop

تعمل paddingTop بشكلٍ مشابهٍ للخاصيّة padding-top في CSS، ويمكن زيارة الصّفحة padding-top لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

paddingVertical

paddingVertical لها تأثير كلا الخاصيّتين paddingTop، وpaddingBottom.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

position

تتشابه position في عملها في React Native، وCSS عدا في طريقة توضّع المكونات، والتي تتم افتراضيًا بشكلٍ نسبيٍّ relative للمكوّن الأب، وبالتالي سيؤول التوضّع المطلق absolute دومًا إلى التوضّع النسبيّ، أي يجب وضع الخاصيّة position على القيمة absolute في المكون الابن، عند الرغبة بوضعه على بعدٍ محدّدٍ من البكسلات بالنسبة للمكون الأب.

عند الرغبة بوضع المكون الابن بالنسبة لشيءٍ غير المكوّن الأب يجب عدم استخدام التنسيق، بل استخدام شجرة المكوّن (component tree)، ويمكن زيارة الصّفحة yoga لمزيدٍ من المعلومات حول اختلاف الخاصيّة position بين React Native، وCSS.

النوع مطلوب
‎‏‪ enum ('absolute', 'relative') لا

right

تحدّد right مقدار إزاحة حافة المكوّن اليمنى بالبكسلات، وتعمل بشكلٍ مشابهٍ للخاصيّة right في CSS، إلا أنه يجب استعمال عدد النقاط، أو النسبة المئوية فقط في React Native، ولا تُقبل Ems، أو الوحدات الأخرى، ويمكن زيارة الصّفحة right لمزيدٍ من المعلومات عن تأثير right على التخطيط.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

start

تكافئ start الخاصيّة left عندما يكون الاتجاه من اليسار إلى اليمين ltr، بينما تكافئ الخاصيّة right عندما يكون الاتجاه من اليمين إلى اليسار rtl، ولهذا التنسيق أولوية (precedence) على التنسيقين left، وright.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

top

تحدد top مقدار إزاحة حافة المكوّن العُليا بالبكسلات، وتعمل بشكلٍ مشابهٍ للخاصيّة top في CSS، إلا أنه يجب استعمال عدد النقاط، أو النسبة المئوية فقط في React Native، ولا تُقبل Ems، أو الوحدات الأخرى. ويمكن زيارة الصّفحة top لمزيدٍ من المعلومات عن تأثير top على التخطيط.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

width

تحدد width عرض المكوّن، وتعمل بشكلٍ مشابهٍ للخاصيّة width في CSS، إلا أنه يجب استعمال عدد النقاط، أو النسبة المئوية فقطفي React Native، ولا تُقبل Ems، أو الوحدات الأخرى، ويمكن زيارة الصّفحة width لمزيدٍ من المعلومات.

النوع مطلوب
سلسلة نصية، عدد (number, string) لا

zIndex

تتحكم zIndex بطريقة عرض المكونات بعضها فوق بعض، ولا تستخدم في الحالات الطبيعية، حيث تظهر المكونات وفقًا لشجرة المستند (document tree) بعرض المكونات الأقدم فوق الأحدث، وقد تُستخدم هذه الخاصية عند تنفيذ الحركات، أو في واجهات المستخدم الخاصة التي تتطلب نمط إظهارٍ خاصٍّ.

وتعمل بشكلٍ مشابهٍ للخاصيّة z-index في CSS، حيث تظهر المكونات ذات zIndex الأكبر في الأعلى، ويمكن التفكير بهذه الخاصية كأنها تتوجّه من الهاتف المحمول إلى عين المستخدم، ويمكن زيارة الصّفحة z-index لمزيدٍ من المعلومات.

عند استخدام هذه الخاصيّة على منصة IOS تحتاج أن تكون المكوّنات Views المستخدمة إخوةً (siblings) لتعمل كما ينبغي.

النوع مطلوب
عدد (number) لا

مصادر