⊗jsrxPmATDT 54 of 57 menu

Məlumatların thunk vasitəsilə Redux-da göndərilməsi

Keçən dərsdə bizim saxta serverimizdə POST sorğusunun emalı ilə tanış olduq. Gəlin indi serverə sorğu göndərəcək thunk funksiyasını yazaq.

Məhsullarla olan proqramımızı açaq, və onun içindəki productsSlice.js faylına baxaq. İndi fetchProducts thunk-ından sonra biz createAsyncThunk köməyi ilə addProduct thunk-ını yaradacayıq:

export const addProduct = createAsyncThunk()

Birinci parametr kimi biz createAsyncThunk-a 'products/addProduct' ötürəcəyik, ikinci parametr kimi isə yeni məhsulun məlumatları olan obyekti qəbul edəcək asinxron callback funksiyasını:

export const addProduct = createAsyncThunk( 'products/addProduct', async (newProduct) => {} )

Bu callback-in kodunda biz klienti çağıracayıq, ona yol və məhsul obyektini parametr kimi ötürəcəyik, sonra isə cavabın məlumatlarını qaytaracayıq:

export const addProduct = createAsyncThunk( 'products/addProduct', async (newProduct) => { const response = await client.post('/fakeServer/products', newProduct) return response.data } )

İndi aşağıda productsSlice üçün olan reducers sahəsinə baxaq. Əvvəllər biz productAdded reduceri ilə yeni məhsul əlavə edirdik, onun içində reducerprepare metodları var idi. İndi biz lazımi məlumatları serverdə generasiya edirik və thunk ilə işləyirik, ona görə də buradan productAdded reducerini tamamilə siləcəyik. Sonra isə extraReducers metoduna (onun kodunun sonuna) əlavə bir reducer əlavə edəcəyik, hansı ki, uğurlu sorğu halında products slaysına action-un payload-undan birbaşa yeni məhsul əlavə edəcək (xatırlayırıq ki, belə kod yalnız createSlice sayəsində mümkündür):

.addCase(addProduct.fulfilled, (state, action) => { state.products.push(action.payload) })

Hə, yeri gəlmişkən, nanoid-i import sətirlərindən silmiş olduğunuzdan əmin olun, və faylın sonunda eksport olunan action-lardan productAdded-i silin.

Tələbələrlə olan proqramınızı açın. Ondaki studentsSlice.js faylına baxın. createAsyncThunk köməyi ilə dərsdə göstərildiyi kimi yeni tələbə əlavə etmək üçün serverə POST sorğusu gödərəcək addStudent thunk-ını yaradın.

Sonra aşağıda studentsSlice üçün dəyişikliklər edin: reducers xassəsindəki studentAdded reducerini tamamilə silin. extraReducers sahəsinə isə dərsdə göstərildiyi kimi, uğurlu sorğu halında, students slaysına action-un payload-undan yeni tələbə əlavə edəcək əlavə reducer əlavə edin.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et