logo by @sawaratsuki1004

ری‌اکت

کتابخانه‌ای برای رابط‌های کاربری وب و بومی

رابط‌های کاربری را از کامپوننت‌ها بسازید

ری‌اکت به شما این امکان را می‌دهد تا رابط‌های کاربری را از قطعات جداگانه‌ای به نام کامپوننت بسازید. کامپوننت‌های خود را مانند 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>
);
}

چه به‌تنهایی کار کنید و چه با هزاران توسعه‌دهنده دیگر، کار با ری‌اکت یکسان است. ری‌اکت طوری طراحی شده‌است که به شما امکان می‌دهد کامپوننت‌هایی را که توسط افراد، تیم‌ها و سازمان‌های مستقل نوشته شده‌اند، به‌سادگی با هم ترکیب کنید.

نوشتن کامپوننت‌ها با کد و نشانه‌گذاری

کامپوننت‌های ری‌اکت توابع جاوااسکریپت هستند. می‌خواهید محتوایی را به‌صورت شرطی نمایش دهید؟ از دستور if استفاده کنید. می‌خواهید یک لیست را نمایش دهید؟ از متد آرایه map() کمک بگیرید. یادگیری ری‌اکت یعنی یادگیری برنامه‌نویسی.

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>
);
}

این نحوه نشانه‌گذاری JSX نام دارد. JSX یک افزونه نحوی برای جاوااسکریپت است که توسط ری‌اکت محبوب شده است. قرار دادن نشانه‌گذاری JSX نزدیک منطق رندرینگ مرتبط، ساخت، نگهداری و حذف کامپوننت‌های ری‌اکت را آسان می‌کند.

افزودن تعامل در هر جایی که نیاز دارید

کامپوننت‌های ری‌اکت داده دریافت می‌کنند و مشخص می‌کنند چه چیزی باید روی صفحه نمایش داده شود. شما می‌توانید در واکنش به تعامل کاربر، مانند زمانی که کاربر در یک ورودی تایپ می‌کند، داده‌های جدیدی به آن‌ها بدهید. سپس ری‌اکت صفحه را با داده‌های جدید به‌روزرسانی می‌کند.

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}”`} />
</>
);
}

لازم نیست تمام صفحه خود را با ری‌اکت بسازید. می‌توانید ری‌اکت را به صفحه HTML موجود خود اضافه کنید و کامپوننت‌های تعاملی ری‌اکت را در هر بخشی از آن رندر کنید.

استفاده کامل از توانمندی‌های فول‌استک با یک فریمورک

ری‌اکت یک کتابخانه است. به شما اجازه می‌دهد کامپوننت‌ها را کنار هم قرار دهید، اما نحوه مسیریابی و واکشی داده‌ها را مشخص نمی‌کند. برای ساخت یک اپلیکیشن کامل با ری‌اکت، ما استفاده از یک فریمورک فول‌استک مبتنی بر ری‌اکت مانند 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} />;
}

ری‌اکت همچنین یک معماری است. فریمورک‌هایی که بر اساس آن ساخته شده‌اند، به شما اجازه می‌دهند داده‌ها را در کامپوننت‌های ناهمگام (asynchronous) که روی سرور یا حتی در زمان ساخت اجرا می‌شوند، واکشی کنید. می‌توانید داده‌ها را از یک فایل یا پایگاه‌داده بخوانید و به کامپوننت‌های تعاملی خود ارسال کنید.

بهترین‌ها را از هر پلتفرم استفاده کنید

مردم به دلایل مختلف عاشق اپلیکیشن‌های وب و بومی هستند. ری‌اکت به شما این امکان را می‌دهد که با همان مهارت‌ها، هم اپلیکیشن وب و هم اپلیکیشن بومی بسازید. ری‌اکت از نقاط قوت منحصر‌به‌فرد هر پلتفرم بهره می‌برد تا رابط کاربری شما روی هر پلتفرمی درست همان‌طور که باید، حس شود.

example.com

به وب وفادار بمانید

مردم انتظار دارند صفحات اپلیکیشن‌های وب سریع بارگذاری شوند. در سمت سرور، ری‌اکت به شما اجازه می‌دهد در حالی که هنوز در حال واکشی داده هستید، HTML را استریم کنید و محتوای باقی‌مانده را به‌صورت تدریجی پر کنید، حتی قبل از اینکه کدی از جاوااسکریپت بارگذاری شود. در سمت کلاینت، ری‌اکت می‌تواند از APIهای استاندارد وب استفاده کند تا رابط کاربری شما حتی وسط فرآیند رندرینگ هم پاسخ‌گو باقی بماند.

10:44 AM

کاملاً بومی شوید

مردم انتظار دارند اپلیکیشن‌های بومی، ظاهر و حس پلتفرمشان را داشته باشند. React Native و Expo به شما این امکان را می‌دهند که با استفاده از ری‌اکت، اپلیکیشن‌هایی برای اندروید، iOS و بیشتر بسازید. این اپلیکیشن‌ها ظاهری بومی دارند چون رابط کاربری آن‌ها واقعاً بومی است. این یک WebView نیست—کامپوننت‌های ری‌اکت شما نمای واقعی اندروید و iOS را که توسط پلتفرم ارائه می‌شود، رندر می‌کنند.

با ری‌اکت، می‌توانید هم توسعه‌دهنده وب و هم توسعه‌دهنده بومی باشید. تیم شما می‌تواند بدون قربانی کردن تجربه کاربری، برای چندین پلتفرم منتشر کند. سازمان شما می‌تواند شکاف بین پلتفرم‌ها را پر کند و تیم‌هایی بسازد که کل قابلیت‌ها را از ابتدا تا انتها مدیریت کنند.

ارتقا زمانی که آینده آماده باشد

ری‌اکت با دقت به تغییرات نزدیک می‌شود. هر کامیت ری‌اکت روی بخش‌های حیاتی تجاری با بیش از یک میلیارد کاربر آزمایش می‌شود. بیش از ۱۰۰ هزار کامپوننت ری‌اکت در متا به اعتبارسنجی هر استراتژی مهاجرت کمک می‌کنند.

تیم ری‌اکت همیشه در حال تحقیق برای بهبود ری‌اکت است. برخی تحقیقات سال‌ها طول می‌کشد تا نتیجه دهند. ری‌اکت استاندارد بالایی برای تبدیل یک ایده تحقیقاتی به تولید دارد. تنها رویکردهای اثبات‌شده بخشی از ری‌اکت می‌شوند.

به جامعه‌ای از میلیون‌ها نفر بپیوندید

شما تنها نیستید. هر ماه دو میلیون توسعه‌دهنده از سراسر جهان از مستندات ری‌اکت بازدید می‌کنند. ری‌اکت چیزی است که مردم و تیم‌ها می‌توانند روی آن توافق داشته باشند.

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

به همین دلیل است که ری‌اکت فراتر از یک کتابخانه، یک معماری یا حتی یک اکوسیستم است. ری‌اکت یک جامعه است. جایی است که می‌توانید درخواست کمک کنید، فرصت‌های جدید پیدا کنید و دوستان تازه‌ای بیابید. شما با توسعه‌دهندگان و طراحان، مبتدیان و متخصصان، پژوهشگران و هنرمندان، معلمان و دانشجویان ملاقات خواهید کرد. پس‌زمینه‌های ما ممکن است بسیار متفاوت باشد، اما ری‌اکت به همه ما اجازه می‌دهد تا با هم رابط کاربری بسازیم.

logo by @sawaratsuki1004

به جامعه ری‌اکت خوش آمدید

شروع کنید