მონაცემთა გაცვლა Redux აპლიკაციასა და სერვერს შორის
ეს განყოფილება იქნება გამოცდილი სტუდენტებისთვის, რომლებმაც არ გაჩერდნენ მიღწეულზე Redux-ში და გადაწყვიტეს ამ სახელმძღვანელოს დასასრულამდე მისვლა. შემდეგ ორ განყოფილებაში ჩვენ შევეხებით Redux აპლიკაციის მუშაობას ასინქრონული ლოგიკით, დავაკავშირებთ ჩვენს აპლიკაციას სერვერულ ნაწილთან და ვასწავლით მას მონაცემთა გაცვლას მასთან.
წინა განყოფილებებიდან ჩვენ ვიცით, რომ Redux აპლიკაციის მუშაობის საფუძველში სინქრონული მექანიზმი დგას. მუშაობის ძირითადი ეტაპები მოიცავს ექშენების გაგზავნას რაიმე მოვლენის აპლიკაციაში წარმოშობისას, შემდეგ სთორის მდგომარეობის (სთეითის) განახლებას store-ში რედიუსერის ფუნქციის მიერ, აპლიკაციის კომპონენტების შეტყობინებას მდგომარეობის ცვლილების შესახებ და, შესაბამისად, ახალი მდგომარეობის მნიშვნელობის ჩვენებას კომპონენტებში.
რეალურ ცხოვრებაში ხშირად ხდება, რომ აპლიკაციას
სჭირდება ასინქრონული ლოგიკაც, მაგალითად HTTP API
მოთხოვნებთან მუშაობისას და მონაცემთა მიღებისას
რაიმე გარე სერვერიდან. ამიტომ, რათა ჩვენმა
'სინქრონულმა' Redux store-მა შეძლოს მუშაობა
ასეთ ასინქრონ ლოგიკასთან, გამოიყენება ე.წ.
middlware - პროგრამული უზრუნველყოფა,
რომელიც შუამავლის ან დამაკავშირებელი რგოლის როლს
ასრულებს ჩვენი აპლიკაციის store-სა და, მაგალითად,
სერვერს შორის, რომლითაც ჩვენ ამ თავში დავიწყებთ მუშაობას.
Redux-ისთვის შექმნილია მრავალი ასეთი middleware,
თუმცა მათ შორის ყველაზე გავრცელებული და ოფიციალურად
რეკომენდებული Redux აპლიკაციების ასინქრონულ
ლოგიკასთან მუშაობისთვის ჯერ კიდევ რჩება
Redux Thunk.
ეს პროგრამული უზრუნველყოფა გვეხმარება გამოვიყენოთ
ჩვეულებრივი ფუნქციები (ან thunks-ები), რომლებსაც
შეუძლიათ შეიცავდნენ ასინქრონულ ლოგიკას, როგორიცაა
setTimeout, Promises, async/await,
ჩვენი store-თან ურთიერთქმედებისთვის. რაც შეეხება
თავად ტერმინს, thunk - ეს არის კოდი, რომელიც
ასრულებს რაიმე გადადებულ სამუშაოს.
ახლა, როდესაც ჩვენ ცოტა გავეცანით, თუ როგორ ვიმუშაოთ Redux-ში ასინქრონულ ლოგიკასთან, შეგვიძლია დავიწყოთ ამ ეტაპის რეალიზაცია ჩვენს აპლიკაციაში. ჩვენ უნდა გავაკეთოთ ისე, რომ ჩვენმა აპლიკაციამ შეძლოს ურთიერთქმედება რაიმე გარე სერვერთან, მიიღოს მისგან მონაცემები და გადასცეს მას მონაცემები. სხვა სიტყვებით რომ ვთქვათ, წინ გველის დამაინტრიგებელი და ძალიან მნიშვნელოვანი თემა. დავიწყოთ.