یک مقایسه نا به جا: Redux یا React Context؟(بخش اول)


سوال ما باید این باشه: When to use each
سوال ما باید این باشه: When to use each

در این مقاله ها قصد دارم به دو سوال پاسخ بدم:

سوال اول: Redux چیه؟ React Context چیه؟ و در نتیجه چرا نباید با هم مقایسه بشن؟

سوال دوم: مزیت های هر کدوم ازین ابزار ها چیه و کجا باید استفاده بشن؟

بریم سراغ سوال اول:

ریداکس چیه و چه میکنه؟

A predictable state container for JavaScript apps.

بنا به تعریف https://redux.js.org ، ریداکس یک state container قابل پیش بینی هست برای اپ های جاوا اسکریپت. قابل پیش بینی بودن استیت و تغییراتش در این state container مهم ترین ویژگیشه.

ری اکت کانتکست چیه و چه میکنه؟

Context provides a way to pass data through the component tree without having to pass props down manually at every level.

بنا به تعریف https://reactjs.org/docs/context.html، کانتکست روشی رو فراهم میکنه تا بشه اطلاعات کامپونتت رو به سطوح پایین تر (نوادگان) فرستاد بدون این که لازم باشه اطلاعات رو به طور دستی با props یه سطوح پایینی پاس داد.

چرا نباید با هم مقایسه بشن؟ و چرا نباید یکی جایگزین دیگری بشه؟

از دو تعریف بالا من نتیجه میگیرم که اساسا این دو -ریداکس و کانتکست- برای دو هدف جدا از هم طراحی شدن به عبارت دیگه راه حل هایی هستن برای حل کردن مشکلات متفاوت : یکی برای قابل پیش بینی کردن رفتار state و دیگری برای پاس دادن اطلاعات به سطوح پایین تر کامپوننت.

بنابر این سوال درست اینه: ?When to use each

پاسخ سوال دوم رو در بخش دوم این مقاله به زودی منتشر خواهم کرد.

خوش حال میشم نظراتتون رو راجع به این مقاله بدونم.