logo by @sawaratsuki1004
React
v19.2
تعلم
مرجع
المجتمع
المدونة

هل هذه الصفحة مفيدة؟

في هذه الصفحة

  • Overview
  • يجب أن تكون Components و Hooks نقية
  • React تستدعي Components و Hooks
  • قواعد Hooks

    react@19.2

  • نظرة عامة
  • Hooks
    • useActionState
    • useCallback
    • useContext
    • useDebugValue
    • useDeferredValue
    • useEffect
    • useEffectEvent
    • useId
    • useImperativeHandle
    • useInsertionEffect
    • useLayoutEffect
    • useMemo
    • useOptimistic
    • useReducer
    • useRef
    • useState
    • useSyncExternalStore
    • useTransition
  • المكونات
    • <Fragment> (<>)
    • <Profiler>
    • <StrictMode>
    • <Suspense>
    • <Activity>
    • <ViewTransition> - هذه الميزة متاحة في أحدث إصدار Canary من React
  • APIs
    • act
    • addTransitionType - هذه الميزة متاحة في أحدث إصدار Canary من React
    • cache
    • cacheSignal
    • captureOwnerStack
    • createContext
    • lazy
    • memo
    • startTransition
    • use
    • experimental_taintObjectReference - هذه الميزة متاحة في أحدث إصدار تجريبي من React
    • experimental_taintUniqueValue - هذه الميزة متاحة في أحدث إصدار تجريبي من React
  • react-dom@19.2

  • Hooks
    • useFormStatus
  • المكونات (Components)
    • Common (e.g. <div>)
    • <form>
    • <input>
    • <option>
    • <progress>
    • <select>
    • <textarea>
    • <link>
    • <meta>
    • <script>
    • <style>
    • <title>
  • APIs
    • createPortal
    • flushSync
    • preconnect
    • prefetchDNS
    • preinit
    • preinitModule
    • preload
    • preloadModule
  • Client APIs
    • createRoot
    • hydrateRoot
  • Server APIs
    • renderToPipeableStream
    • renderToReadableStream
    • renderToStaticMarkup
    • renderToString
    • resume
    • resumeToPipeableStream
  • Static APIs
    • prerender
    • prerenderToNodeStream
    • resumeAndPrerender
    • resumeAndPrerenderToNodeStream
  • React Compiler

  • الإعدادات (Configuration)
    • compilationMode
    • gating
    • logger
    • panicThreshold
    • target
  • Directives
    • "use memo"
    • "use no memo"
  • تصريف المكتبات (Compiling Libraries)
  • React DevTools

  • React Performance tracks
  • eslint-plugin-react-hooks

  • Lints
    • exhaustive-deps
    • rules-of-hooks
    • component-hook-factories
    • config
    • error-boundaries
    • gating
    • globals
    • immutability
    • incompatible-library
    • preserve-manual-memoization
    • purity
    • refs
    • set-state-in-effect
    • set-state-in-render
    • static-components
    • unsupported-syntax
    • use-memo
  • قواعد React (Rules of React)

  • نظرة عامة (Overview)
    • Components و Hooks يجب أن تكون Pure
    • React تستدعي Components و Hooks
    • قواعد Hooks
  • React Server Components

  • Server Components
  • Server Functions
  • Directives
    • 'use client'
    • 'use server'
  • Legacy APIs

  • Legacy React APIs
    • Children
    • cloneElement
    • Component
    • createElement
    • createRef
    • forwardRef
    • isValidElement
    • PureComponent
مرجع API

قواعد React

كما أن للغات البرمجة المختلفة طرقها الخاصة للتعبير عن المفاهيم، فإن React لديها لغتها الخاصة - أو قواعدها - لكيفية التعبير عن الأنماط بطريقة يسهل فهمها وتؤدي إلى تطبيقات عالية الجودة.

  • يجب أن تكون Components و Hooks نقية
  • React تستدعي Components و Hooks
  • قواعد Hooks

ملاحظة

لمعرفة المزيد عن التعبير عن واجهات المستخدم باستخدام React، نوصي بقراءة التفكير بطريقة React.

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

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

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


يجب أن تكون Components و Hooks نقية

النقاء في Components و Hooks هو قاعدة أساسية في React تجعل تطبيقك يمكن التنبؤ به، وسهل تصحيحه، وتسمح لـ React بتحسين كودك تلقائيًا.

  • يجب أن تكون Components متماثلة – يُفترض أن مكونات React تُرجع دائمًا نفس الإخراج فيما يتعلق بمدخلاتها - props و state والسياق.
  • يجب أن تعمل الآثار الجانبية خارج render – يجب ألا تعمل الآثار الجانبية في render، حيث يمكن لـ React تصيير المكونات عدة مرات لإنشاء أفضل تجربة مستخدم ممكنة.
  • Props و state غير قابلة للتغيير – props و state الخاصة بالمكون هي لقطات غير قابلة للتغيير فيما يتعلق بـ render واحد. لا تغيرها مباشرة أبدًا.
  • قيم الإرجاع والوسائط لـ Hooks غير قابلة للتغيير – بمجرد تمرير القيم إلى Hook، يجب ألا تعدلها. مثل props في JSX، تصبح القيم غير قابلة للتغيير عند تمريرها إلى Hook.
  • القيم غير قابلة للتغيير بعد تمريرها إلى JSX – لا تغير القيم بعد استخدامها في JSX. انقل التغيير قبل إنشاء JSX.

React تستدعي Components و Hooks

React مسؤولة عن تصيير المكونات و hooks عند الضرورة لتحسين تجربة المستخدم. إنها تعريفية: أنت تخبر React بما تريد تصييره في منطق مكونك، وسيكتشف React أفضل طريقة لعرضه لمستخدمك.

  • لا تستدعِ دوال المكونات مباشرةً أبدًا – يجب استخدام المكونات فقط في JSX. لا تستدعها كدوال عادية.
  • لا تمرر hooks كقيم عادية أبدًا – يجب استدعاء Hooks فقط داخل المكونات. لا تمررها أبدًا كقيمة عادية.

قواعد Hooks

تُعرف Hooks باستخدام دوال JavaScript، لكنها تمثل نوعًا خاصًا من منطق واجهة المستخدم القابل لإعادة الاستخدام مع قيود على المكان الذي يمكن استدعاؤها فيه. تحتاج إلى اتباع قواعد Hooks عند استخدامها.

  • استدعِ Hooks فقط في المستوى الأعلى – لا تستدعِ Hooks داخل الحلقات أو الشروط أو الدوال المتداخلة. بدلاً من ذلك، استخدم دائمًا Hooks في المستوى الأعلى من دالة React الخاصة بك، قبل أي عوائد مبكرة.
  • استدعِ Hooks فقط من دوال React – لا تستدعِ Hooks من دوال JavaScript العادية.
التاليComponents و Hooks يجب أن تكون Pure

Copyright © Meta Platforms, Inc
no uwu plz
uwu?
Logo by@sawaratsuki1004
تعلم React
بداية سريعة
التثبيت
وصف واجهة المستخدم (UI)
إضافة التفاعلية
إدارة State
مخارج الطوارئ
مرجع API
React APIs
React DOM APIs
المجتمع
ميثاق السلوك
تعرف على الفريق
المساهمون في التوثيق
شكر وتقدير
المزيد
المدونة
React Native
الخصوصية
الشروط