تصميم تطبيق رد الفعل مع الغرز

تصميم تطبيق رد الفعل مع الغرز

Stitches هي مكتبة CSS-in-JS حديثة توفر طريقة قوية ومرنة لتصميم تطبيقات React الخاصة بك. فهو يقدم أسلوبًا فريدًا للتصميم يجمع بين أفضل أجزاء CSS وJavaScript، مما يسمح لك بإنشاء أنماط ديناميكية بسهولة.





فيديو MUO لهذا اليوم قم بالتمرير للمتابعة مع المحتوى

إعداد الغرز

تصميم تطبيق React الخاص بك باستخدام غرز مشابه ل باستخدام مكتبة المكونات المصممة . مع الأخذ في الاعتبار أن الغرز و مكونات على غرار كلاهما مكتبات CSS-in-JS تسمح لك بكتابة الأنماط في JavaScript.





قبل تصميم تطبيق React الخاص بك، يجب عليك تثبيت مكتبة الغرز وإعدادها. لتثبيت المكتبة باستخدام npm، قم بتشغيل الأمر التالي في جهازك:





npm install @stitches/react 

وبدلاً من ذلك، يمكنك تثبيت المكتبة باستخدام الغزل باستخدام هذا الأمر:

yarn add @stitches/react 

بمجرد تثبيت مكتبة الغرز، يمكنك البدء في تصميم تطبيق React الخاص بك.



ما هي درجة الحرارة الساخنة للغاية بالنسبة لوحدة المعالجة المركزية

إنشاء مكونات على غرار

لإنشاء مكونات مصممة، توفر مكتبة الغرز على غرار وظيفة. تتيح لك الوظيفة المصممة إنشاء مكونات مصممة تجمع بين أنماط CSS ومنطق المكونات.

ال على غرار تأخذ الدالة وسيطتين. الأول هو عنصر HTML/JSX، والثاني هو كائن يحتوي على خصائص CSS لتصميمه.





إليك كيفية إنشاء مكون زر مُصمم باستخدام ملف على غرار وظيفة:

import { styled } from "@stitches/react"; 

export const Button = styled("button", {
  padding: "0.7rem 0.8rem",
  borderRadius: "12px",
  backgroundColor: "#333333",
  color: "#e2e2e2",
  fontFamily: "cursive",
  border: "none",
});

تقوم كتلة التعليمات البرمجية أعلاه بإنشاء ملف زر مكون ذو لون خلفية داكن، ولون نص رمادي، ونصف قطر حدود، وبعض الحشو. لاحظ أنك تكتب خصائص CSS في حالة CamelCase، وليس حالة kebab. وذلك لأن CamelCase هي طريقة أكثر شيوعًا لكتابة خصائص CSS في JavaScript.





بمجرد إنشاء مكون الزر المصمم، يمكنك استيراده إلى مكونات React واستخدامه.

على سبيل المثال:

import React from "react"; 
import { Button } from "./Button";

function App() {
  return (
    <>
      <Button>Click Me</Button>
    </>
  );
}

export default App;

يستخدم هذا المثال زر مكون في برنامج عنصر. سيعتمد الزر الأنماط التي قمت بتمريرها إلى على غرار وظيفة، مما يجعلها تبدو مثل هذا:

  زر بخلفية سوداء يسمى 'انقر فوقي'.

ال على غرار تتيح لك الوظيفة أيضًا دمج أنماط CSS، مع بناء جملة مشابه لـ لغة الامتداد SASS/SCSS . وهذا يجعل من السهل عليك تنظيم أنماطك وجعل التعليمات البرمجية الخاصة بك أكثر قابلية للقراءة.

فيما يلي مثال باستخدام تقنية الأنماط المتداخلة:

import { styled } from "@stitches/react"; 

export const Button = styled("button", {
  padding: "0.7rem 0.8rem",
  borderRadius: "12px",
  backgroundColor: "#333333",
  color: "#e2e2e2",
  fontFamily: "cursive",
  border: "none",

  "&:hover": {
    backgroundColor: "#e2e2e2",
    color: "#333333",
  },
});

يستخدم هذا الرمز أنماط CSS المتداخلة وفئة زائفة لاستهداف ملف زر عنصر. عندما تقوم بالتمرير فوق الزر، يتم تحديد المحدد المتداخل &:يحوم يغير خلفية الزر وألوان النص.

التصميم باستخدام وظيفة CSS

إذا كنت غير مرتاح لإنشاء مكونات مصممة، فإن غرز تقدم المكتبة المغلق وظيفة، والتي يمكن أن تولد أسماء الفئات لتصميم المكونات الخاصة بك. ال المغلق تأخذ الدالة كائن JavaScript بخصائص CSS كوسيطة وحيدة لها.

إليك كيفية تصميم مكوناتك باستخدام المغلق وظيفة:

import React from "react"; 
import { css } from "@stitches/react";

const buttonStyle = css({
  padding: "0.7rem 0.8rem",
  borderRadius: "12px",
  backgroundColor: "#333333",
  color: "#e2e2e2",
  fontFamily: "cursive",
  border: "none",

  "&:hover": {
    backgroundColor: "#e2e2e2",
    color: "#333333",
  },
});

function App() {
  return (
    <>
      <button className={buttonStyle()}>Click Me</button>
    </>
  );
}

export default App;

ال المغلق تقوم الوظيفة بإنشاء أنماط CSS للزر الذي يقوم هذا الرمز بعد ذلك بتعيينه لـ ButtonStyle عامل. ال ButtonStyle تقوم الدالة بإنشاء اسم فئة للأنماط المحددة، والتي يتم تمريرها بعد ذلك إلى اسم الفئة دعامة من زر عنصر.

خلق الأنماط العالمية

باستخدام غرز مكتبة، يمكنك أيضًا تحديد الأنماط العامة لتطبيقك باستخدام ملف globalCss وظيفة. تقوم وظيفة globalCss بإنشاء الأنماط العامة وتطبيقها على تطبيق React الخاص بك.

بعد تحديد الأنماط العالمية الخاصة بك باستخدام globalCSS ، اتصل بالوظيفة الموجودة في ملفك برنامج مكون لتطبيق الأنماط على التطبيق الخاص بك.

كيفية إرسال رسالة نصية جماعية

على سبيل المثال:

import React from "react"; 
import { globalCss } from "@stitches/react";

const globalStyles = globalCss({
  body: { backgroundColor: "#f2f2f2", color: "#333333" },
});

function App() {
  globalStyles();

  return <></>;
}

export default App;

يحدد هذا المثال أنماط جسم العنصر باستخدام globalCss وظيفة. تقوم المكالمة بتعيين لون الخلفية على #f2f2f2 ولون النص إلى #333333 .

إنشاء الأنماط الديناميكية

واحدة من أقوى الميزات في غرز المكتبة هي قدرتها على إنشاء أنماط ديناميكية. يمكنك إنشاء أنماط تعتمد على رد فعل الدعائم مع ال المتغيرات مفتاح. ال المتغيرات المفتاح هو خاصية لكل من المغلق و على غرار المهام. يمكنك إنشاء العديد من المتغيرات للمكون الخاص بك كما تريد.

على سبيل المثال:

import { styled } from "@stitches/react"; 

export const Button = styled("button", {
  padding: "0.7rem 0.8rem",
  borderRadius: "12px",
  fontFamily: "cursive",
  border: "none",

  variants: {
    color: {
      black: {
        backgroundColor: "#333333",
        color: "#e2e2e2",
        "&:hover": {
          backgroundColor: "#e2e2e2",
          color: "#333333",
        },
      },
      gray: {
        backgroundColor: "#e2e2e2",
        color: "#333333",
        "&:hover": {
          backgroundColor: "#333333",
          color: "#e2e2e2",
        },
      },
    },
  },
});

يقوم هذا الكود بإنشاء زر المكون مع أ لون البديل. ال لون يتيح لك المتغير تغيير لون الزر بناءً على لون دعم. بمجرد إنشاء زر المكون، يمكنك استخدامه في التطبيق الخاص بك.

على سبيل المثال:

import React from "react"; 
import { Button } from "./Button";

function App() {
  return (
    <>
      <Button color="gray">Click Me</Button>
      <Button color="black">Click Me</Button>
    </>
  );
}

export default App;

بمجرد تقديم هذا التطبيق، سيتم عرض زرين على الواجهة الخاصة بك. ستبدو الأزرار مثل الصورة أدناه.

كيفية إضافة صور متعددة إلى قصة instagram
  زرين، أحدهما فوق الآخر. الجزء العلوي له خلفية رمادية فاتحة والجزء السفلي له خلفية سوداء.

إنشاء رموز الموضوع

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

لإنشاء هذه الرموز المميزة، استخدم createStitches وظيفة. ال createStitches تتيح لك الوظيفة من مكتبة الغرز تكوين المكتبة. تأكد من استخدام createStitches وظيفة في أ غرزة.config.ts ملف أو أ Stitches.config.js ملف.

فيما يلي مثال لكيفية إنشاء رمز مميز للموضوع:

import { createStitches } from "@stitches/react"; 

export const { styled, css } = createStitches({
  theme: {
    colors: {
      gray: "#e2e2e2",
      black: "#333333",
    },
    space: {
      1: "5px",
      2: "10px",
      3: "15px",
    },
    fontSizes: {
      1: "12px",
      2: "13px",
      3: "15px",
    },
  },
});

الآن بعد أن حددت الرموز المميزة للموضوع، يمكنك استخدامها في أنماط المكونات الخاصة بك.

import { styled } from "../stitches.config.js"; 

export const Button = styled("button", {
  padding: " ",
  borderRadius: "12px",
  fontSize: "",
  border: "none",
  color: '$black',
  backgroundColor: '$gray',
});

تستخدم كتلة التعليمات البرمجية أعلاه الرموز الملونة $رمادي و $أسود للخلفية ولون النص للزر. كما أنه يستخدم الرموز الفضائية 1 دولار و 3 دولارات لتعيين حشوة الزر ومتغير حجم الخط 1 دولار لتعيين حجم الخط للزر.

التصميم الفعال مع الغرز

توفر مكتبة الغرز طريقة قوية ومرنة لتصميم تطبيقات React الخاصة بك. باستخدام ميزات مثل المكونات المصممة والأنماط الديناميكية وglobalCSS، يمكنك بسهولة إنشاء تصميمات معقدة. سواء كنت تنشئ تطبيق React صغيرًا أو كبيرًا، يمكن أن تكون الغرز خيارًا ممتازًا للتصميم.

بديل رائع لمكتبة الغرز هو مكتبة المشاعر. Emotion هي مكتبة CSS-in-JS شائعة تسمح لك بكتابة الأنماط في JavaScript. إنه سهل الاستخدام ويقدم العديد من الميزات لإنشاء أنماط رائعة لتطبيقك.