Размена података између Redux апликације и сервера
Овај одељак ће бити за искусне ученике, који нису стали на постигнутом у Redux-у и одлучили су да дођу до краја овог приручника. У наредна два одељка ћемо дотаћи рад Redux апликације са асинхроном логиком, повезаћемо нашу апликацију са серверском страном и научићемо је да размењује податке са њом.
Из претходних одељака знамо да у основи рада Redux апликације лежи синхрони механизам. Главне фазе рада се састоје од слања акција при настанку неког догађаја у апликацији, затим ажурирања стања у store-у функцијом-редјусером, обавештавања компоненти апликације о промени стања и одговарајућег приказа нове вредности стања у компонентама.
У стварном животу често се дешава да апликацији
буде потребна и асинхрона логика, на пример при
раду са HTTP API захтевима и добијању података
са неког спољног сервера. Стога да би наш 'синхрони' Redux store могао да ради
са таквом асинхроном логиком користи се тако
звано middlware - програмска опрема,
која представља посредника или везу између
store-а наше апликације и, на пример,
сервера, са којим ћемо започети рад у овој
поглављу приручника.
За Redux је направљено много таквих middleware-а,
међутим најшире распрострањен међу
њима и званично препоручен при раду Redux
апликација са асинхроном логиком за сада остаје
Redux Thunk.
Ова програмска опрема помаже нам да користимо уобичајене
функције (или thunks), које могу да садрже
у себи асинхрону логику, као што су
setTimeout, Promises, async/await,
за интеракцију са нашим store-ом. Што се тиче
самог термина, thunk - то је код који
обавља неки одложени посао.
Сада, када смо се мало упознали са тим, како да радимо у Redux-у са асинхроном логиком, можемо да приступимо имплементацији ове фазе у нашој апликацији. Треба да учинимо да наша апликација може да интерагује са неким спољним сервером, примајући од њега и преносећи му податке. Другим речима, пред нама нас очекује фасцинантна и веома важна тема. Почнимо.