React

مكتبة JavaScript لبناء الواجهات للويب والتطبيقات الجوالة

انشئ واجهات المستخدم بإستخدام المكونات (Components)

تتيح لك React بناء واجهات المستخدم من قطع فردية تسمى المكونات (Components) . انشئ مكونات React الخاصة بك مثل Thumbnail, LikeButton, و Video. ثم يتم دمجهات في شاشات كاملة

Video.js

function Video({ video }) {
return (
<div>
<Thumbnail video={video} />
<a href={video.url}>
<h3>{video.title}</h3>
<p>{video.description}</p>
</a>
<LikeButton video={video} />
</div>
);
}

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

أكتب المكونات بإستخدام الكود والـ(markup)

React عبارة عن JavaScript functions. تريد اظهار بعض المحتوى بشكل شرطي؟ استخدم if statement. عرض قائمة؟ جرب array map(). تعلم الReact هو تعلم البرمجة.

VideoList.js

function VideoList({ videos, emptyHeading }) {
const count = videos.length;
let heading = emptyHeading;
if (count > 0) {
const noun = count > 1 ? 'Videos' : 'Video';
heading = count + ' ' + noun;
}
return (
<section>
<h2>{heading}</h2>
{videos.map(video =>
<Video key={video.id} video={video} />
)}
</section>
);
}

يسمى هذا الsyntax بالJSX . هو عبارة عن امتداد للجافاسكريب اشتهر بسبب الReact الـJSX مقرب من العرض المنطقي (rendering logic) مما يجعل مكونات React اسهل في الانشاء والصيانة والحذف

أضف التفاعلية في أي مكان تحتاج إليها

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

SearchableVideoList.js

import { useState } from 'react';

function SearchableVideoList({ videos }) {
const [searchText, setSearchText] = useState('');
const foundVideos = filterVideos(videos, searchText);
return (
<>
<SearchInput
value={searchText}
onChange={newText => setSearchText(newText)} />
<VideoList
videos={foundVideos}
emptyHeading={`No matches for “${searchText}”`} />
</>
);
}

لا يلزمك بناء صفحتك بأكملها في React . يمكنك إضافة React إلى صفحة HTML الحالية الخاصة بك وتقديم مكونات React التفاعلية في أي مكان عليها.

كن full-stackمع إطار عمل

(React) هو مكتبة يمكنك استخدامها لوضع المكونات معًا ، لكنها لا تصف كيفية إحضار البيانات والتوجيه. لبناء تطبيق كامل باستخدام (React) ، نوصي باستخدام إطار (React) الكامل الخاص مثل (Next.js) أو (Remix) .

confs/[slug].js

import { db } from './database.js';
import { Suspense } from 'react';

async function ConferencePage({ slug }) {
const conf = await db.Confs.find({ slug });
return (
<ConferenceLayout conf={conf}>
<Suspense fallback={<TalksLoading />}>
<Talks confId={conf.id} />
</Suspense>
</ConferenceLayout>
);
}

async function Talks({ confId }) {
const talks = await db.Talks.findAll({ confId });
const videos = talks.map(talk => talk.video);
return <SearchableVideoList videos={videos} />;
}

ريآكت هي ايضاً هيكلية (architecture) . تسمح الإطارات التي تنفذها بجلب البيانات في مكونات غير متزامنة (asynchronous) تعمل على الخادم أو حتى أثناء البناء. قراءة البيانات من ملف أو قاعدة بيانات ، وتمريرها إلى مكونات التفاعلية الخاصة بك

استخدم الأفضل من كل منصة.

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

example.com

Stay true to the web

يتوقع الناس أن تحمل صفحات تطبيقات الويب بسرعة.على الخادم، يتيح لك React بدء تدفق HTML بينما لا تزال تجلب البيانات وملء المحتوى المتبقي تدريجيًا قبل تحميل أي كود JavaScript. على العميل، يمكن لـ React استخدام واجهات برمجة تطبيقات الويب القياسية للحفاظ على استجابة واجهة المستخدم الخاصة بك حتى في منتصف عملية التقديم.

6:00 AM

Go truly native

يتوقع الناس أن تبدو التطبيقات الأصلية وتشعر وكأنها تنتمي إلى منصتها. React Native و Expo يتيح لك بناء تطبيقات React لكن من Android و iOS و المزيد تبدو وكأنها أصلية لأن واجهاتها حقًا أصلية. انها ليست كالويب . تقوم مكونات الـReact الخاصة بك بعمل رندرة على حسب نوع المنصة من IOS او Android

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

كن متطوراَ عندما يصبح المستقبل جاهزاً

يتعامل React مع التغييرات بحذر. يتم اختبار كل ارتباط React على الأسطح الحرجة للأعمال مع أكثر من مليار مستخدم. يساعد أكثر من 100,000 من مكونات React في Meta في التحقق من كل استراتيجية الترحيل (migration).

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

انضم الى مجتمع من الملايين

انت لست وحيدأ . مليونا مطور من جميع انحاء العالم يزورون مرجع الـReact كل شهر . ان (React) متفق علية من الفرق والافراد .

People singing karaoke at React Conf
Sunil Pai speaking at React India
A hallway conversation between two people at React Conf
A hallway conversation at React India
Elizabet Oliveira speaking at React Conf
People taking a group selfie at React India
Nat Alison speaking at React Conf
Organizers greeting attendees at React India

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

مرحبا بك في
مجتمع React

ابدأ الان