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

من موسوعة حسوب
أنشأ الصفحة ب'= Transforms = إن التّحويلات (Transforms) هي من خاصيّات التنسيق (style) التي تساعد على تعديل مظهر المكوّنات...'
 
طلا ملخص تعديل
 
(6 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
= Transforms =
<noinclude>{{DISPLAYTITLE:التحويلات (Transforms) في React Native}}</noinclude>
إن التّحويلات (Transforms) هي من خاصيّات التنسيق (style) التي تساعد على تعديل مظهر المكوّنات وموقعها، وذلك باستخدام التحويلات الثّنائيّة (2D) أو الثّلاثيّة الأبعاد (3D). ولكن يبقى التّخطيط حول المكوِّن المحوَّل نفسه بعد تطبيق هذه التحويلات لذا قد يتداخل مع المكوّنات المجاورة، ويمكن تجنّب حدوث هذا التّداخل عن طريق إضافة هامشٍ للمكوِّن المحوَّل من جهة المكوّنات المجاورة، أو بإضافة مسافاتٍ فارغةٍ (padding) إلى الحاوية (container).
تعدّ التّحويلات (Transforms) هي من [[ReactNative/style|خاصيّات التنسيق]] (style) التي تساعد على تعديل مظهر المكوّنات، وموقعها، وذلك باستخدام التحويلات الثّنائيّة (2D)، أو الثّلاثيّة الأبعاد (3D). ولكن يبقى التّخطيط حول المكوِّن المحوَّل هو نفسه بعد تطبيق هذه التحويلات، لذا tقد يتداخل مع المكوّنات المجاورة، ويمكن تجنّب حدوث هذا التّداخل عن طريق إضافة هامشٍ للمكوِّن المحوَّل من جهة المكوّنات المجاورة، أو بإضافة مسافاتٍ فارغةٍ (padding) إلى الحاوية (container).
__toc__
== مثال ==


== مثالٌ ==
* [https://snack.expo.dev/@hsoubwiki/transforms-function-component مثال عن مكوّن دالّة (Function Component)]
 
* مثال عن مكوّن دالة (Function Component)
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
import React from "react";
import React from "react";
import { SafeAreaView, ScrollView, StyleSheet, Text, View } from "react-native";
import { SafeAreaView, ScrollView, StyleSheet, Text, View } from "react-native";
 
const App = () => (
const App = () => (
 <SafeAreaView style={styles.container}>
  <SafeAreaView style={styles.container}>
   <ScrollView
    <ScrollView
     contentContainerStyle={styles.scrollContentContainer}
      contentContainerStyle={styles.scrollContentContainer}
   >
    >
     <View style={styles.box}>
      <View style={styles.box}>
       <Text style={styles.text}>Original Object</Text>
        <Text style={styles.text}>Original Object</Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [{ scale: 2 }]
        transform: [{ scale: 2 }]
     }]}>
      }]}>
       <Text style={styles.text}>Scale by 2</Text>
        <Text style={styles.text}>Scale by 2</Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [{ scaleX: 2 }]
        transform: [{ scaleX: 2 }]
     }]}>
      }]}>
       <Text style={styles.text}>ScaleX by 2</Text>
        <Text style={styles.text}>ScaleX by 2</Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [{ scaleY: 2 }]
        transform: [{ scaleY: 2 }]
     }]}>
      }]}>
       <Text style={styles.text}>ScaleY by 2</Text>
        <Text style={styles.text}>ScaleY by 2</Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [{ rotate: "45deg" }]
        transform: [{ rotate: "45deg" }]
     }]}>
      }]}>
       <Text style={styles.text}>Rotate by 45 deg</Text>
        <Text style={styles.text}>Rotate by 45 deg</Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [
        transform: [
         { rotateX: "45deg" },
          { rotateX: "45deg" },
         { rotateZ: "45deg" }
          { rotateZ: "45deg" }
       ]
        ]
     }]}>
      }]}>
       <Text style={styles.text}>Rotate X&Z by 45 deg</Text>
        <Text style={styles.text}>Rotate X&Z by 45 deg</Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [
        transform: [
         { rotateY: "45deg" },
          { rotateY: "45deg" },
         { rotateZ: "45deg" }
          { rotateZ: "45deg" }
       ]
        ]
     }]}>
      }]}>
       <Text style={styles.text}>Rotate Y&Z by 45 deg</Text>
        <Text style={styles.text}>Rotate Y&Z by 45 deg</Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [{ skewX: "45deg" }]
        transform: [{ skewX: "45deg" }]
     }]}>
      }]}>
       <Text style={styles.text}>SkewX by 45 deg</Text>
        <Text style={styles.text}>SkewX by 45 deg</Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [{ skewY: "45deg" }]
        transform: [{ skewY: "45deg" }]
     }]}>
      }]}>
       <Text style={styles.text}>SkewY by 45 deg</Text>
        <Text style={styles.text}>SkewY by 45 deg</Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [
        transform: [
         { skewX: "30deg" },
          { skewX: "30deg" },
         { skewY: "30deg" }
          { skewY: "30deg" }
       ]
        ]
     }]}>
      }]}>
       <Text style={styles.text}>Skew X&Y by 30 deg</Text>
        <Text style={styles.text}>Skew X&Y by 30 deg</Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [{ translateX: -50 }]
        transform: [{ translateX: -50 }]
     }]}>
      }]}>
       <Text style={styles.text}>TranslateX by -50 </Text>
        <Text style={styles.text}>TranslateX by -50 </Text>
     </View>
      </View>
 
     <View style={[styles.box, {
      <View style={[styles.box, {
       transform: [{ translateY: 50 }]
        transform: [{ translateY: 50 }]
     }]}>
      }]}>
       <Text style={styles.text}>TranslateY by 50 </Text>
        <Text style={styles.text}>TranslateY by 50 </Text>
     </View>
      </View>
   </ScrollView>
    </ScrollView>
 </SafeAreaView>
  </SafeAreaView>
);
);
 
const styles = StyleSheet.create({
const styles = StyleSheet.create({
 container: {
  container: {
   flex: 1
    flex: 1
   },
   },
 scrollContentContainer: {
  scrollContentContainer: {
   alignItems: "center",
    alignItems: "center",
   paddingBottom: 60
    paddingBottom: 60
   },
   },
 box: {
  box: {
   height: 100,
    height: 100,
   width: 100,
    width: 100,
   borderRadius: 5,
    borderRadius: 5,
   marginVertical: 40,
    marginVertical: 40,
   backgroundColor: "#61dafb",
    backgroundColor: "#61dafb",
   alignItems: "center",
    alignItems: "center",
   justifyContent: "center"
    justifyContent: "center"
   },
   },
 text: {
  text: {
   fontSize: 14,
    fontSize: 14,
   fontWeight: "bold",
    fontWeight: "bold",
   margin: 8,
    margin: 8,
   color: "#000",
    color: "#000",
   textAlign: "center"
    textAlign: "center"
   }
   }
});
});
 
export default App;
export default App;
</syntaxhighlight>
</syntaxhighlight>


* مثالٌ عن مكوّن صنف (Class Component)
* [https://snack.expo.dev/@hsoubwiki/transforms-class-component مثالٌ عن مكوّن صنف (Class Component)]
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
import React, { Component } from "react";
import React, { Component } from "react";
import { SafeAreaView, ScrollView, StyleSheet, Text, View } from "react-native";
import { SafeAreaView, ScrollView, StyleSheet, Text, View } from "react-native";
 
class App extends Component {
class App extends Component {
 render() {
  render() {
   return (
    return (
     <SafeAreaView style={styles.container}>
      <SafeAreaView style={styles.container}>
       <ScrollView
        <ScrollView
         contentContainerStyle={styles.scrollContentContainer}
          contentContainerStyle={styles.scrollContentContainer}
       >
        >
         <View style={styles.box}>
          <View style={styles.box}>
           <Text style={styles.text}>Original Object</Text>
            <Text style={styles.text}>Original Object</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [{ scale: 2 }]
            transform: [{ scale: 2 }]
         }]}>
          }]}>
           <Text style={styles.text}>Scale by 2</Text>
            <Text style={styles.text}>Scale by 2</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [{ scaleX: 2 }]
            transform: [{ scaleX: 2 }]
         }]}>
          }]}>
           <Text style={styles.text}>ScaleX by 2</Text>
            <Text style={styles.text}>ScaleX by 2</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [{ scaleY: 2 }]
            transform: [{ scaleY: 2 }]
         }]}>
          }]}>
           <Text style={styles.text}>ScaleY by 2</Text>
            <Text style={styles.text}>ScaleY by 2</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [{ rotate: "45deg" }]
            transform: [{ rotate: "45deg" }]
         }]}>
          }]}>
           <Text style={styles.text}>Rotate by 45 deg</Text>
            <Text style={styles.text}>Rotate by 45 deg</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [
            transform: [
             { rotateX: "45deg" },
              { rotateX: "45deg" },
             { rotateZ: "45deg" }
              { rotateZ: "45deg" }
           ]
            ]
         }]}>
          }]}>
           <Text style={styles.text}>Rotate X&Z by 45 deg</Text>
            <Text style={styles.text}>Rotate X&Z by 45 deg</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [
            transform: [
             { rotateY: "45deg" },
              { rotateY: "45deg" },
             { rotateZ: "45deg" }
              { rotateZ: "45deg" }
           ]
            ]
         }]}>
          }]}>
           <Text style={styles.text}>Rotate Y&Z by 45 deg</Text>
            <Text style={styles.text}>Rotate Y&Z by 45 deg</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [{ skewX: "45deg" }]
            transform: [{ skewX: "45deg" }]
         }]}>
          }]}>
           <Text style={styles.text}>SkewX by 45 deg</Text>
            <Text style={styles.text}>SkewX by 45 deg</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [{ skewY: "45deg" }]
            transform: [{ skewY: "45deg" }]
         }]}>
          }]}>
           <Text style={styles.text}>SkewY by 45 deg</Text>
            <Text style={styles.text}>SkewY by 45 deg</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [
            transform: [
             { skewX: "30deg" },
              { skewX: "30deg" },
             { skewY: "30deg" }
              { skewY: "30deg" }
           ]
            ]
         }]}>
          }]}>
           <Text style={styles.text}>Skew X&Y by 30 deg</Text>
            <Text style={styles.text}>Skew X&Y by 30 deg</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [{ translateX: -50 }]
            transform: [{ translateX: -50 }]
         }]}>
          }]}>
           <Text style={styles.text}>TranslateX by -50</Text>
            <Text style={styles.text}>TranslateX by -50</Text>
         </View>
          </View>
 
         <View style={[styles.box, {
          <View style={[styles.box, {
           transform: [{ translateY: 50 }]
            transform: [{ translateY: 50 }]
         }]}>
          }]}>
           <Text style={styles.text}>TranslateY by 50</Text>
            <Text style={styles.text}>TranslateY by 50</Text>
         </View>
          </View>
       </ScrollView>
        </ScrollView>
     </SafeAreaView>
      </SafeAreaView>
   );
    );
   }
   }
}
}
 
const styles = StyleSheet.create({
const styles = StyleSheet.create({
 container: {
  container: {
   flex: 1
    flex: 1
   },
   },
 scrollContentContainer: {
  scrollContentContainer: {
   alignItems: "center",
    alignItems: "center",
   paddingBottom: 60
    paddingBottom: 60
   },
   },
 box: {
  box: {
   height: 100,
    height: 100,
   width: 100,
    width: 100,
   borderRadius: 5,
    borderRadius: 5,
   marginVertical: 40,
    marginVertical: 40,
   backgroundColor: "#61dafb",
    backgroundColor: "#61dafb",
   alignItems: "center",
    alignItems: "center",
   justifyContent: "center"
    justifyContent: "center"
   },
   },
 text: {
  text: {
   fontSize: 14,
    fontSize: 14,
   fontWeight: "bold",
    fontWeight: "bold",
   margin: 8,
    margin: 8,
   color: "#000",
    color: "#000",
   textAlign: "center"
    textAlign: "center"
   }
   }
});
});
 
export default App;
export default App;
</syntaxhighlight>
</syntaxhighlight>
سطر 253: سطر 253:


=== <code>transform()‎</code> ===
=== <code>transform()‎</code> ===
يقبل مصفوفةً من كائنات التّحويل، حيث يحدّد كلّ كائنٍ الخاصيّة التي سيتمّ تحويلها على شكل (مفتاحٍ/القيمة المستخدمة في التحويل). ويفضّل عدم  دمج هذه الكائنات مع بعضها، كما يجب استخدام زوج وحيدٍ من (المفتاح/القيمة) لكلّ كائنٍ.
يقبل مصفوفةً من كائنات التّحويل، حيث يحدّد كلّ كائنٍ الخاصيّة التي سيتمّ تحويلها على شكل (مفتاحٍ/القيمة المستخدمة في التحويل)، ويفضّل عدم  دمج هذه الكائنات مع بعضها، كما يجب استخدام زوج وحيدٍ من (المفتاح/القيمة) لكلّ كائنٍ.


يتطلّب تحويل الدّوران دخلًا من نوع السّلاسل النّصية تحدَّد فيها زاوية الدّوران بالدّرجات (deg) أو الرّاديان (rad) كما هو موضّحٌ في المثال التّالي:<syntaxhighlight lang="javascript">
يتطلّب تحويل الدّوران دخلًا من نوع السّلاسل النّصية تحدَّد فيها زاوية الدّوران بالدّرجات (deg)، أو الرّاديان (rad)، كما هو موضّحٌ في المثال التّالي:<syntaxhighlight lang="javascript">
transform([{ rotateX: '45deg' }, { rotateZ: '0.785398rad' }]);
transform([{ rotateX: '45deg' }, { rotateZ: '0.785398rad' }]);
</syntaxhighlight>يتطلب تحويل الإمالة (skew) دخلًا من نوع السّلاسل النّصّية تحدَّد فيها زاوية الدّوران بالدّرجات (deg)، كما هو موضّحٌ في المثال التّالي:<syntaxhighlight lang="javascript">
</syntaxhighlight>يتطلب تحويل الإمالة (skew) دخلًا من نوع السّلاسل النّصّية تحدَّد فيها زاوية الدّوران بالدّرجات (deg)، كما هو موضّحٌ في المثال التّالي:<syntaxhighlight lang="javascript">
سطر 264: سطر 264:
!مطلوب
!مطلوب
|-
|-
|مصفوفة كائنات
|مصفوفة من الكائنات:<syntaxhighlight lang="js">
array of objects: {matrix: number[]}, {perspective: number}, {rotate: string}, {rotateX: string}, {rotateY: string}, {rotateZ: string}, {scale: number}, {scaleX: number}, {scaleY: number}, {translateX: number}, {translateY: number}, {skewX: string}, {skewY: string}
{matrix: number[]}, {perspective: number}, {rotate: string}, {rotateX: string}, {rotateY: string}, {rotateZ: string}, {scale: number}, {scaleX: number}, {scaleY: number}, {translateX: number}, {translateY: number}, {skewX: string}, {skewY: string}
</syntaxhighlight>
|لا
|لا
|}
|}
'''<code>decomposedMatrix</code>''', '''<code>rotation</code>''', '''<code>scaleX</code>''', '''<code>scaleY</code>''', '''<code>transformMatrix</code>''', '''<code>translateX</code>''', '''<code>translateY</code>'''.<blockquote>'''مهملة:''' استخدم <code>transform</code> بدلًا عنها.</blockquote>
 
===<code>decomposedMatrix</code>, <code>rotation</code>, <code>scaleX</code>, <code>scaleY</code>, <code>transformMatrix</code>, <code>translateX</code>, <code>translateY</code>===
<blockquote>'''مهملة:''' استخدم <code>transform</code> بدلًا عنها.</blockquote>


== مصادر ==
== مصادر ==


* [https://facebook.github.io/react-native/docs/transforms صفحة Transforms في توثيق React Native الرسميّ]
* [https://facebook.github.io/react-native/docs/transforms صفحة Transforms في توثيق React Native الرسميّ]
[[تصنيف:ReactNative]]
[[تصنيف:React Native API]]

المراجعة الحالية بتاريخ 14:13، 9 أكتوبر 2021

تعدّ التّحويلات (Transforms) هي من خاصيّات التنسيق (style) التي تساعد على تعديل مظهر المكوّنات، وموقعها، وذلك باستخدام التحويلات الثّنائيّة (2D)، أو الثّلاثيّة الأبعاد (3D). ولكن يبقى التّخطيط حول المكوِّن المحوَّل هو نفسه بعد تطبيق هذه التحويلات، لذا tقد يتداخل مع المكوّنات المجاورة، ويمكن تجنّب حدوث هذا التّداخل عن طريق إضافة هامشٍ للمكوِّن المحوَّل من جهة المكوّنات المجاورة، أو بإضافة مسافاتٍ فارغةٍ (padding) إلى الحاوية (container).

مثال

import React from "react";
import { SafeAreaView, ScrollView, StyleSheet, Text, View } from "react-native";

const App = () => (
  <SafeAreaView style={styles.container}>
    <ScrollView
      contentContainerStyle={styles.scrollContentContainer}
    >
      <View style={styles.box}>
        <Text style={styles.text}>Original Object</Text>
      </View>

      <View style={[styles.box, {
        transform: [{ scale: 2 }]
      }]}>
        <Text style={styles.text}>Scale by 2</Text>
      </View>

      <View style={[styles.box, {
        transform: [{ scaleX: 2 }]
      }]}>
        <Text style={styles.text}>ScaleX by 2</Text>
      </View>

      <View style={[styles.box, {
        transform: [{ scaleY: 2 }]
      }]}>
        <Text style={styles.text}>ScaleY by 2</Text>
      </View>

      <View style={[styles.box, {
        transform: [{ rotate: "45deg" }]
      }]}>
        <Text style={styles.text}>Rotate by 45 deg</Text>
      </View>

      <View style={[styles.box, {
        transform: [
          { rotateX: "45deg" },
          { rotateZ: "45deg" }
        ]
      }]}>
        <Text style={styles.text}>Rotate X&Z by 45 deg</Text>
      </View>

      <View style={[styles.box, {
        transform: [
          { rotateY: "45deg" },
          { rotateZ: "45deg" }
        ]
      }]}>
        <Text style={styles.text}>Rotate Y&Z by 45 deg</Text>
      </View>

      <View style={[styles.box, {
        transform: [{ skewX: "45deg" }]
      }]}>
        <Text style={styles.text}>SkewX by 45 deg</Text>
      </View>

      <View style={[styles.box, {
        transform: [{ skewY: "45deg" }]
      }]}>
        <Text style={styles.text}>SkewY by 45 deg</Text>
      </View>

      <View style={[styles.box, {
        transform: [
          { skewX: "30deg" },
          { skewY: "30deg" }
        ]
      }]}>
        <Text style={styles.text}>Skew X&Y by 30 deg</Text>
      </View>

      <View style={[styles.box, {
        transform: [{ translateX: -50 }]
      }]}>
        <Text style={styles.text}>TranslateX by -50 </Text>
      </View>

      <View style={[styles.box, {
        transform: [{ translateY: 50 }]
      }]}>
        <Text style={styles.text}>TranslateY by 50 </Text>
      </View>
    </ScrollView>
  </SafeAreaView>
);

const styles = StyleSheet.create({
  container: {
    flex: 1
  },
  scrollContentContainer: {
    alignItems: "center",
    paddingBottom: 60
  },
  box: {
    height: 100,
    width: 100,
    borderRadius: 5,
    marginVertical: 40,
    backgroundColor: "#61dafb",
    alignItems: "center",
    justifyContent: "center"
  },
  text: {
    fontSize: 14,
    fontWeight: "bold",
    margin: 8,
    color: "#000",
    textAlign: "center"
  }
});

export default App;
import React, { Component } from "react";
import { SafeAreaView, ScrollView, StyleSheet, Text, View } from "react-native";

class App extends Component {
  render() {
    return (
      <SafeAreaView style={styles.container}>
        <ScrollView
          contentContainerStyle={styles.scrollContentContainer}
        >
          <View style={styles.box}>
            <Text style={styles.text}>Original Object</Text>
          </View>

          <View style={[styles.box, {
            transform: [{ scale: 2 }]
          }]}>
            <Text style={styles.text}>Scale by 2</Text>
          </View>

          <View style={[styles.box, {
            transform: [{ scaleX: 2 }]
          }]}>
            <Text style={styles.text}>ScaleX by 2</Text>
          </View>

          <View style={[styles.box, {
            transform: [{ scaleY: 2 }]
          }]}>
            <Text style={styles.text}>ScaleY by 2</Text>
          </View>

          <View style={[styles.box, {
            transform: [{ rotate: "45deg" }]
          }]}>
            <Text style={styles.text}>Rotate by 45 deg</Text>
          </View>

          <View style={[styles.box, {
            transform: [
              { rotateX: "45deg" },
              { rotateZ: "45deg" }
            ]
          }]}>
            <Text style={styles.text}>Rotate X&Z by 45 deg</Text>
          </View>

          <View style={[styles.box, {
            transform: [
              { rotateY: "45deg" },
              { rotateZ: "45deg" }
            ]
          }]}>
            <Text style={styles.text}>Rotate Y&Z by 45 deg</Text>
          </View>

          <View style={[styles.box, {
            transform: [{ skewX: "45deg" }]
          }]}>
            <Text style={styles.text}>SkewX by 45 deg</Text>
          </View>

          <View style={[styles.box, {
            transform: [{ skewY: "45deg" }]
          }]}>
            <Text style={styles.text}>SkewY by 45 deg</Text>
          </View>

          <View style={[styles.box, {
            transform: [
              { skewX: "30deg" },
              { skewY: "30deg" }
            ]
          }]}>
            <Text style={styles.text}>Skew X&Y by 30 deg</Text>
          </View>

          <View style={[styles.box, {
            transform: [{ translateX: -50 }]
          }]}>
            <Text style={styles.text}>TranslateX by -50</Text>
          </View>

          <View style={[styles.box, {
            transform: [{ translateY: 50 }]
          }]}>
            <Text style={styles.text}>TranslateY by 50</Text>
          </View>
        </ScrollView>
      </SafeAreaView>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1
  },
  scrollContentContainer: {
    alignItems: "center",
    paddingBottom: 60
  },
  box: {
    height: 100,
    width: 100,
    borderRadius: 5,
    marginVertical: 40,
    backgroundColor: "#61dafb",
    alignItems: "center",
    justifyContent: "center"
  },
  text: {
    fontSize: 14,
    fontWeight: "bold",
    margin: 8,
    color: "#000",
    textAlign: "center"
  }
});

export default App;

التوابع

transform()‎

يقبل مصفوفةً من كائنات التّحويل، حيث يحدّد كلّ كائنٍ الخاصيّة التي سيتمّ تحويلها على شكل (مفتاحٍ/القيمة المستخدمة في التحويل)، ويفضّل عدم دمج هذه الكائنات مع بعضها، كما يجب استخدام زوج وحيدٍ من (المفتاح/القيمة) لكلّ كائنٍ.

يتطلّب تحويل الدّوران دخلًا من نوع السّلاسل النّصية تحدَّد فيها زاوية الدّوران بالدّرجات (deg)، أو الرّاديان (rad)، كما هو موضّحٌ في المثال التّالي:

transform([{ rotateX: '45deg' }, { rotateZ: '0.785398rad' }]);

يتطلب تحويل الإمالة (skew) دخلًا من نوع السّلاسل النّصّية تحدَّد فيها زاوية الدّوران بالدّرجات (deg)، كما هو موضّحٌ في المثال التّالي:

transform([{ skewX: '45deg' }]);
النوع   مطلوب
مصفوفة من الكائنات:
{matrix: number[]}, {perspective: number}, {rotate: string}, {rotateX: string}, {rotateY: string}, {rotateZ: string}, {scale: number}, {scaleX: number}, {scaleY: number}, {translateX: number}, {translateY: number}, {skewX: string}, {skewY: string}
لا

decomposedMatrix, rotation, scaleX, scaleY, transformMatrix, translateX, translateY

مهملة: استخدم transform بدلًا عنها.

مصادر