تجربه کاری من با ریداکس و context

تو این مقاله قصد دارم با لحنی خودمونی تجربه خودم از کار با redux و context رو بگم

> این نظر بنده هست، و ممکنه تجربه دیگران در رابطه با این موضوع متفاوت باشه.







من خودم اولش که ریکت رو در سطح بیسیک یاد گرفتم، رفتم سراغ ریداکس اما متاسفانه بوممممممم

برای من کاملا گنگ بود مبحثش

> Action , Reducer , Dispatch , Types for action

و چون این مباحث رو متوجه نمیشدم، با خودم تکرار میکردم که context تو بهترین و خفن ترینی

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

اما تو پروژه بزرگ یکمی مدیریتش سخت هست.

اینجا بود که گفتم چیکار کنم چیکار نکنم، گفتم یک بار دیگه با قدرت و روحیه بیشتر شروع میکنم.

> یک نکته مهم که متوجه شدم فهمیدم نباید همون اول مدرس با reactjs، ریداکس رو اموزش بده، ابتدا باید داخل vanilla js مبانی ریداکس رو مطرح کنه و بعد در کتابخانه ریکت اون رو اموزش بده.

خلاصه این که ایندفعه با امید و سرسختی بیشتر اموزش رو شروع کردم و یادش گرفتم.

بعدش فهمیدم ریداکس چقدر باحال و خفنه.

چقدر مدیریت state هاتو راحت میکنه.

خودمونیما ولی داخل context امکانات زیر نبود

مثلا

redux devTools

دسترسی به state ها به سادگی ریداکس، حداقل این موضوع برای من که یک موضوع اعصاب خورد کن بود که بعد تعریف هر context بیام داخل پروژه براش یک provider تعریف کنم، از قلم نندازیم قبل اومدن هوک ها دریافت استیت مورد نظر از ریداکس با استفاده از متد connect کار حضرت گوگل بوداااااا اما وقتی useSelector اومد، دیگه این کار شد مثل اب خوردن!!!!

خداییش از redux saga هم نباید بگزریم که خیلی باحال و خفن هستش.

داخل پروژه

dev.app.panel.direct

یادی کنیم از ریداکس ساگا که خیلی مدیریت درخواست هام رو راحت کرده بود یکی از دلایلی که خیلی ریداکس دوست دارم همین ریداکس ساگا.

اما خب تا اینجا این همه خوبی های ریداکس گفتیم بزارید یکمیم از context بگیم

قبل ریداکس حداقل از نظر من حتما باید context بلد باشید تا بتونید ریداکس رو خوب درک کنید.

چه بخواهید چه نخواهید پروژه هایی هستن که کارفرما میخواد با context بسازید، پس این همه تکنولوژی بلد باشیم و یک context رو بلد نباشیم حیفه..

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


لطفا اگر از مقاله راضی بودید من رو دنبال کنید، ممنونم که مقاله رو مطالعه کردید :)