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

من موسوعة حسوب
←‏الأنماط: تم تغيرر الشيفرات
سطر 2: سطر 2:


==الأنماط==
==الأنماط==
ينسَّق التطبيق في React Native  باستخدام JavaScript . تقبل جميع المكوّنات الأساسيّة خاصيّةً تُسمّى ‎<code>style</code>‎ يُمكنك تمرير قيمٍ لها لتحديد تنسيق المكوّن. تتطابق أسماء وقيم الأنماط مع طريقة عمل[[CSS]] على الويب في أغلب الأحيان، باستثناء أنّ الأسماء تُكتَب بصيغة camel case للأحرف، إذ نكتُب مثلًا ‎<code>backgroundColor</code>‎ بدلاً من ‎<code>background-color</code>‎.
ينسَّق التطبيق في React Native  باستخدام JavaScript ، تقبل جميع المكوّنات الأساسيّة خاصيّةً تُسمّى ‎<code>style</code>‎ تحدد تنسيق المكوّن بتمرير قيمٍ لها. تتطابق أسماء وقيم الأنماط مع طريقة عمل[[CSS]] على الويب في أغلب الأحيان، باستثناء أنّ الأسماء تُكتَب بصيغة camel case للأحرف، إذ نكتُب مثلًا ‎<code>backgroundColor</code>‎ بدلاً من ‎<code>background-color</code>‎.


يُمكن لخاصيّة ‎<code>style</code>‎ أن تكون كائن JavaScript بسيطًا عاديّا، وهي الطريقة التي سنعتمدها عادةً في أمثلة هذا التوثيق. لكن يمكنك كذلك تمرير مصفوفة من الأنماط، بحيث يكون للنمط الأخير في المصفوفة أسبقية على الأنماط التي تسبقه، لذا يمكنك استخدام هذه الطريقة لتوريث الأنماط.
يُمكن لخاصيّة ‎<code>style</code>‎ أن تكون كائن JavaScript بسيطًا عاديًّا، وهي الطريقة التي سنعتمدها عادةً في أمثلة هذا التوثيق. لكن يمكنك كذلك تمرير مصفوفة من الأنماط، بحيث يكون للنمط الأخير في المصفوفة أسبقيةً على الأنماط التي قبله، لذا يمكنك استخدام هذه الطريقة لتوريث الأنماط.


ولأنّ المكوّنات تزداد تعقيدًا أثناء التطوير، فغالباً ما سيكون استخدام ‎<code>[[ReactNative/stylesheet|StyleSheet.create]]</code>‎ لتجميع أنماطٍ متعددة في مكان واحد طريقةً أفضل وأنظف للحفاظ على شيفرة قابلة للصيانة وسهلة التعديل. مثلًا:
ولأنّ المكوّنات تزداد تعقيدًا أثناء التطوير غالباً ما سيكون استخدام ‎<code>[[ReactNative/stylesheet|StyleSheet.create]]</code>‎ لتجميع أنماطٍ متعددةٍ في مكانٍ واحدٍ طريقةً أفضل وأنظف للحفاظ على شيفرةٍ قابلةٍ للصيانة سهلة التعديل، مثلًا:
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
import React from 'react';
import React from 'react';
سطر 41: سطر 41:
من الشائع جعلُ المكون الخاص بك يقبل خاصيّةً باسم ‎ <code>style</code>‎ تُستخدَم بدورها لتنسيق المكوّنات الأبناء. يمكنك اعتماد هذه الفكرة لجعل الأنماط "تنسابُ (cascade)" كما في CSS.
من الشائع جعلُ المكون الخاص بك يقبل خاصيّةً باسم ‎ <code>style</code>‎ تُستخدَم بدورها لتنسيق المكوّنات الأبناء. يمكنك اعتماد هذه الفكرة لجعل الأنماط "تنسابُ (cascade)" كما في CSS.


هناك عدّة طرائق لتخصيص نمطِ وتنسيقِ النصوص. انظر [[ReactNative/text style props|صفحة تنسيق المكوّن ‎‎<code>Text</code>‎‎]] لقائمة كاملة.
هناك عدّة طرائق لتخصيص نمطِ وتنسيقِ النصوص، انظر [[ReactNative/text style props|صفحة تنسيق المكوّن ‎‎<code>Text</code>‎‎]] لقائمةٍ كاملة.


يمكنك الآن تجميل النصوص في تطبيقك. الخطوة التالية هي تعلّم [[ReactNative/height and width|كيفية التحكم في أحجام المكونات]].
يمكنك الآن تجميل النصوص في تطبيقك. الخطوة التالية هي تعلّم [[ReactNative/height and width|كيفية التحكم في أحجام المكونات]].

مراجعة 20:23، 5 مارس 2021


الأنماط

ينسَّق التطبيق في React Native باستخدام JavaScript ، تقبل جميع المكوّنات الأساسيّة خاصيّةً تُسمّى ‎style‎ تحدد تنسيق المكوّن بتمرير قيمٍ لها. تتطابق أسماء وقيم الأنماط مع طريقة عملCSS على الويب في أغلب الأحيان، باستثناء أنّ الأسماء تُكتَب بصيغة camel case للأحرف، إذ نكتُب مثلًا ‎backgroundColor‎ بدلاً من ‎background-color‎.

يُمكن لخاصيّة ‎style‎ أن تكون كائن JavaScript بسيطًا عاديًّا، وهي الطريقة التي سنعتمدها عادةً في أمثلة هذا التوثيق. لكن يمكنك كذلك تمرير مصفوفة من الأنماط، بحيث يكون للنمط الأخير في المصفوفة أسبقيةً على الأنماط التي قبله، لذا يمكنك استخدام هذه الطريقة لتوريث الأنماط.

ولأنّ المكوّنات تزداد تعقيدًا أثناء التطوير غالباً ما سيكون استخدام ‎StyleSheet.create‎ لتجميع أنماطٍ متعددةٍ في مكانٍ واحدٍ طريقةً أفضل وأنظف للحفاظ على شيفرةٍ قابلةٍ للصيانة سهلة التعديل، مثلًا:

import React from 'react';
import { StyleSheet, Text, View } from 'react-native';

const LotsOfStyles = () => {
    return (
      <View style={styles.container}>
        <Text style={styles.red}>just red</Text>
        <Text style={styles.bigBlue}>just bigBlue</Text>
        <Text style={[styles.bigBlue, styles.red]}>bigBlue, then red</Text>
        <Text style={[styles.red, styles.bigBlue]}>red, then bigBlue</Text>
      </View>
    );
};

const styles = StyleSheet.create({
  container: {
    marginTop: 50,
  },
  bigBlue: {
    color: 'blue',
    fontWeight: 'bold',
    fontSize: 30,
  },
  red: {
    color: 'red',
  },
});

export default LotsOfStyles;

من الشائع جعلُ المكون الخاص بك يقبل خاصيّةً باسم ‎ style‎ تُستخدَم بدورها لتنسيق المكوّنات الأبناء. يمكنك اعتماد هذه الفكرة لجعل الأنماط "تنسابُ (cascade)" كما في CSS.

هناك عدّة طرائق لتخصيص نمطِ وتنسيقِ النصوص، انظر صفحة تنسيق المكوّن ‎‎Text‎‎ لقائمةٍ كاملة.

يمكنك الآن تجميل النصوص في تطبيقك. الخطوة التالية هي تعلّم كيفية التحكم في أحجام المكونات.

مصادر