اگر شما یک کاوشگر در دنیای بزرگ جاوا اسکریپت هستید، به احتمال زیاد با اصطلاحات “React” و “Flux” مواجه شده‌اید. اما چگونه React و Flux مرتبط هستند؟ در این پست به ارتباط بین این دو پرداخته‌ایم.

کتابخانه جاوا اسکریپت: React

بیایید از ابتدا شروع کنیم. سال ۲۰۱۲ است و یک طراح نرم افزار در شرکت فیس‌بوک، یک کتابخانه جاوا اسکریپت برای ایجاد رابط کاربر (UI)، به نام React راه اندازی کرده است. تا سال ۲۰۱۳، React به صورت رایگان و برای عموم قابل دسترس شد.

این کتابخانه معروف جاوا اسکریپت به خودی خود فقط مربوط به رابط کاربر است (مثل View در معماری MVC/Model-View-Controller) و قابلیت استفاده جداگانه از اجزاء یک صفحه که مانند قطعاتی از یک پازل است را به توسعه دهنده فرانت اند فراهم می‌سازد. با استفاده از این اجزا، React یک روش ساده برای ساختن فرانت‌اند و طرح‌بندی وب فراهم می‌کند. نوشتن با React به این معنی است که شما می‌توانید به سادگی مشخص کنید که چگونه یک جز را در تعاملات وب نمایش دهید.

چگونه Flux در این مبحث جا می‌گیرد؟

یک معماری است که فیس‌بوک هنگام کار با React JS از آن استفاده می‌کند. در مقایسه با ساختار MVC، Flux شبیه به مرحله (M (Model است. Flux مکمل طراحی مبتنی بر جزء React، با استفاده از جریان داده یک طرفه می‌باشد و به کاربران اجازه می‌دهد تا لایه‌های داده جاوا اسکریپت ایجاد کنند.

برنامه‌های کاربردی Flux از سه قسمت اصلی تشکیل شده است. این قسمت‌ها جریان یک طرفه Flux را ثابت می‌کنند:

بخش Action: یک عملی که توسط کاربر انجام شده و به dispatcher ارسال می‌شود

بخش Store: مدیریت داده‌ها و به‌روزرسانی تمامی دیدگاه‌ها

بخش Dispatcher: یک Dispatcher مرکزی مسئولیت دریافت و ارسال داده‌ها به بخش Store را که داده برنامه‌های کاربردی را نگه می‌دارد بر عهده دارد.

چون Flux جریان یک طرفه React را تکمیل می‌کند، برای جداسازی تغییرات داده‌ها و افزایش محل اشکالات عالی است. به عبارت دیگر، Flux اجازه می‌دهد تا به راحتی هرگونه نقص در برنامه‌نویسی را دقیق‌تر متوجه شوید. همچنین قابلیت تغییر یک بخش از Store باعث تغییر بخش دیگری نمی‌شود، که به توانایی Flux برای به حداقل رساندن اشکالات برنامه‌نویسی اضافه می‌کند.

شما نیازی به استفاده از Flux برای نوشتن React ندارید، اما انجام این کار می‌تواند یک تحول بزرگی باشد. Flux به عنوان یک معماری ساده، کاملا مکمل React می‌باشد. دفعه بعد که شما شروع به نوشتن با React ‌می‌کنید، سعی کنید از Flux استفاده کنید.