رفتن به نوشته‌ها

دسته: React (ری اکت)

React (به فارسی: ری اکت) یک کتابخانه‌ی متن‌باز جاوا اسکریپتی است که برای ساخت رابط‌های کاربری و اجزای صفحات وب مورد استفاده قرار می‌گیرد. به عبارت دقیق‌تر از این کتابخانه برای ساخت نرم‌افزارهای واکنشگرای تک صفحه‌ای (SPA) مورد استفاده قرار می‌گیرد. با استفاده از ری اکت می‌توانید درخواست خود را به سرور ارسال کنید و بدون رفرش کردن صفحه، خروجی را تغییر دهید.
در واقع ری‌ اکت به توسعه‌دهندگان این امکان را می‌دهد که واسط‌های کاربری را به صورت درختی از اجزای کوچکی بنام Component ایجاد کنند. (هر کامپوننت ترکیبی از HTML و جاوا اسکریپت است که تمام منطق موردنیاز برای نمایش قسمت کوچکی از یک واسط کاربری بزرگ‌تر را در خود دارد)
کتابخانه‌ی React در سال 2013 توسط تیم توسعه‌ی فیس‌بوک معرفی و به سرعت به یکی از مهم‌ترین فریم‌ ورک‌های جاوا اسکریپت تبدیل شد به گونه‌ای که در سایت‌های مهمی چون نت‌فلیکس و ایر بی‌‌ان‌بی استفاده شد. در حال حاضر ری اکت و ری اکت نیتیو در صدر محبوب‌ترین پروژه‌های گیت‌هاب هستند.
در ساختار React.js از یک DOM مجازی استفاده می‌شود که سرعت اجرای آن را بسیار بالا می‌برد.
React Native (ری اکت نیتیو) نیز یک کتابخانه‌ی قدرتمند جاوا اسکریپت و یک چارچوب توسعه نرم‌افزاری موبایل است که به کمک آن می‌توان برای سیستم عامل‌های اندروید و IOS، اپلیکیشن ساخت. اینکه اپلیکیشن‌های بزرگی چون فیس‌بوک، اینستاگرام و اسکایپ با استفاده از ری اکت نیتیو تولید شده‌اند، بزرگ‌ترین گواه بر قدرت و انعطاف‌پذیری این فریم ورک است.
ری اکت نیتیو شبیه به ری اکت جی اس است اما بلوک‌های حیاتی آن بجای کامپوننت‌های وب، کامپوننت‌های بومی است.

کار با key و لیست‌های منعطف (پایان فصل 2) + تمرینات

Key یک property خاص است که هنگام کار با لیست ها باید نوشته شود. React انسان نیست بنابراین نمی تواند ببیند شما کدام فرد از افراد (لیست) را حذف کرده اید. کد ما در حال حاضر کار میکند اما مسئله اینجاست که react چیزی به نام virtual DOM دارد. در این virtual DOM نسخه ای از DOM آینده (که با متد render نمایش داده می شود) را نگه میدارد تا با DOM فعلی مقایسه کند و هر قسمتی از DOM جدید که با قبلی متفاوت باشد، آن قسمت دوباره render می شود. مشکل اینجاست که در لیست ها باید چیزی مثل یک id وجود داشته باشد که به React اجازه دهد هر کدام افراد را به صورت خاص شناسایی کند تا به جای render کردن دوباره ی کل افراد در لیست، فقط افرادی را دوباره render کند که تغییر کرده اند.