چرا باید از ری اکت استفاده کنیم؟

امروزه تعداد زیادی از فریموورک های جاوااسکریپت نظیر (...,AngularJs, VueJs) وجود دارد، اما سوال مهمی که برای اکثر توسعه دهندگان پیس می آید این است که چرا از ری اکت استفاده کنیم؟
فریموورک های (...,AngularJs, VueJs) از ساختار جریان داده ی سنتی استفاده می کنند به این معنی که از DOM (Document Object Model) استفاده می کنند.
DOM چیست؟
DOM یک شی ای است که توسط مرورگر ها برای لود شدن یک صفحه ی وب ایجاد شده است.
آن همواره به صورت پویا و مستقیم مسئول اتفاق و تغییراتی است که در قسمت پنهان مرورگر ها اتفاق می افتد.این روند DOM به صورت مکرر انجام می شود و باعث اتلاف حافظه ی غیر ضروری شده و عملکرد برنامه را کاهش می دهد.
برای جلوگیری از این روند مکرر DOM،از کتابخانه ی محبوب جاوااسکریپت به نام ReactJs استفاده می کنیم.
بدین صورت که به ما اجازه می دهد کل برنامه ی خود را به اجزاهای مختلف (Component) تقسیم کنیم.
ری اکت نیز از ساختار جریان داده ی سنتی استفاده می کند با این تفاوت که به صورت مجازی(نه مستقیم) روی DOM کار می کند.بدین معنی که به جای تغییرات مستقیم روی DOM،آن یک DOM مجازی می سازد که تغییرات را در آن جا ذخیره کرده و تعیین می کند که مرورگر چه موقع به این تغییرات نیاز دارد.
این DOM مجازی کاملا در حافظه قرار دارد و نماینده ی DOM واقعی در مرورگر است.
به همین دلیل هنگامی که ما یک جز (Component) درون ری اکت ایجاد می کنیم، آن به صورت مستقیم روی DOM اصلی کار نمی کند و ری اکت تعیین می کند که چه موقع روی DOM اصلی در مرورگر قرار گیرد.