programing\frameworks\react.html ``` ```html تعلم React - دليل شامل للمبتدئين والمحترفين

ما هي مكتبة React؟

React هي مكتبة JavaScript مفتوحة المصدر طورتها شركة Meta (formerly Facebook) لبناء واجهات المستخدم التفاعلية. تم إطلاقها لأول مرة في عام 2013، وأصبحت واحدة من أشهر أدوات تطوير الويب في العالم.

تتبع React نمط Component-Based، مما يعني أنه يمكنك بناء واجهات مستخدم معزولة وقابلة لإعادة الاستخدام. تستخدم React مفهوم Virtual DOM لتحسين الأداء وتحديث الشاشة بشكل سريع.

مميزات React

المكونات (Components)

بناء واجهات معزولة وقابلة لإعادة الاستخدام

Virtual DOM

تحديث الشاشة بسرعة فائقة دون إعادة تحميل الصفحة

State Management

إدارة حالة التطبيق بسهولة مع React Hooks

React Native

تطوير تطبيقات جوال أصلية لنظامي iOS و Android

One-Way Data Flow

تدفق بيانات_direction واحد يسهل تتبع الأخطاء

مجتمع كبير

مكتبة ضخمة من الحزم والمكونات الجاهزة

استخدامات React

تطبيقات الويب

بناء تطبيقات ويب تفاعلية وحديثة

React Native

تطوير تطبيقات جوال أصلية

Server-Side Rendering

تحسين SEO والأداء مع Next.js

تطبيقات VR

تطبيقات الواقع الافتراضي مع React VR

تطبيقات Desktop

تطبيقات سطح المكتب مع Electron

Static Sites

مواقع ثابتة سريعة مع Gatsby

مفاهيم React الأساسية

المكونات (Components)

وحدات مستقلة تمثل أجزاء من واجهة المستخدم

JSX

صيغة تسمح بكتابة HTML داخل JavaScript

State

بيانات تتغير داخل المكون تؤثر على العرض

Props

خصائص تنتقل من مكون إلى آخر

Lifecycle

مراحل حياة المكون من الإنشاء إلى الإزالة

Hooks

وظائف تتيح استخدام ميزات React بدون Classes

مثال على كود React

مكون بسيط

import React from 'react'; function Welcome(props) { return ( <h1>مرحباً, {props.name}!</h1> ); } export default Welcome;

استخدام State مع useState

import React, { useState } from 'react'; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>العدد: {count}</p> <button onClick={() => setCount(count + 1)}> زيادة </button> </div> ); }

استخدام useEffect

import React, { useState, useEffect } from 'react'; function DataFetcher() { const [data, setData] = useState(null); useEffect(() => { fetch('/api/data') .then(res => res.json()) .then(data => setData(data)); }, []); return <p>{data}</p>; }

أهم Hooks في React

useState

إضافة حالة محلية للمكونات الوظيفية

useEffect

تنفيذ efeitos جانبية مثل جلب البيانات

useContext

الوصول لـ Context بدون الحاجة لـ Consumer

useRef

إنشاء مرجع قابل للتغيير

useReducer

إدارة حالة معقدة بطريقة مشابهة لـ Redux

useMemo & useCallback

تحسين الأداء بتجنب الحسابات المتكررة

أدوات React

Create React App

إنشاء مشاريع React بسرعة

Vite

أداة بناء سريعة وحديثة

Redux Toolkit

إدارة حالة التطبيق

React Router

التنقل بين الصفحات

Styled Components

تنسيق المكونات بـ CSS-in-JS

React Query

جلب وإدارة البيانات

مسار تعلم React

١. JavaScript الحديث

تعلم ES6+ features مثل arrow functions, destructuring, modules

٢. أساسيات JSX

فهم صيغة JSX وكتابة HTML داخل JavaScript

٣. Components

إنشاء مكونات وظيفية واستخدام Props

٤. State و useState

إضافة تفاعلية للمكونات مع State

٥. Events والتعامل مع المستخدم

معالجة الأحداث like onClick, onChange

٦. useEffect والـ Lifecycle

تنفيذ تأثيرات جانبية وجلب البيانات

٧. Forms والتحقق

إنشاء نماذج والتحقق من البيانات

٨. React Router

التنقل بين الصفحات في تطبيق SPA

٩. إدارة الحالة

تعلم Redux أو Context API

١٠. Next.js

تعلم Server-Side Rendering و Static Generation

ابدأ رحلتك في React!

انضم إلى آلاف المطورين الذين يتعلمون React معنا

استكشف لغات البرمجة