⊗jsrxPmATDT 54 of 57 menu

Redux-da maglumat ibermek üçin thunk ulanylyşy

Öňki sapakda biz özümiziň ýasalan serverimizde POST soragyny işlemegi öwrendik. Indi serwere sorag iberýän thunk-funksiýany ýazalyň.

Önümler barada aplikasiýamyzy açalyň, we onuň içindäki productsSlice.js faýlyny açalyň. Indi fetchProducts thunk-yndan soň createAsyncThunk ýardamy bilen addProduct thunk-yňy döredeliň:

export const addProduct = createAsyncThunk()

createAsyncThunk-a birinji parametr hökmünde 'products/addProduct' bereliň, ikinji parametr hökmünde bolsa täze önümiň maglumatlar obýektini alýän asinkron callback:

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

Bu callback-iň kodunda klient çağyryp, ona ýol we önüm obýektini parametrler hökmünde bereliň, soňra jogap maglumatlaryny gaýtaryň:

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

Indi aşakdaky koda serediň, productsSlice üçin reducers meýdanyna. Öň biz productAdded reducer-i ýardamy bilen täze önüm goşýardyk, onuň içinde reducer we prepare metodlary bardy. Indi biz zerur maglumatlary serwerde döredýäris we thunk bilen işleýäris, şonuň üçin bu ýerden productAdded reducer-ini koddan doly aýyryň. Soňra extraReducers metoduna (onuň kodunyň soňuna) ýene bir goşmaça reducer goşuň, bu reducer üstünlikli sorag ýagdaýynda products slice-a täze önümi gönümel payload-dan (ýatda saklaň, bu kod diňe createSlice-iň aýratynlygy bilen mümkin):

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

Hawa, ýadyňyzdan çykarmaň, import setirlerinden nanoid-i aýyryň, faýlyň ahyryndaky eksport edilýän aksiýalar listinden bolsa productAdded-y aýyryň.

Talyp barada aplikasiýaňyzy açyň. Onyň içindäki studentsSlice.js faýlyny açyň. createAsyncThunk ýardamy bilen ýene bir addStudent thunk-y dörediň, bu thunk sapakda görkezilişi ýaly täze talyp goşmak üçin serwere POST soragyny iberer.

Indiki aşakda studentsSlice üçin üýtgeşmeler giriziň: reducers aýratynlygyndaky studentAdded reducer-ini doly aýyryň. extraReducers meýdanyna bolsa, sapakda görkezilişi ýaly üstünlikli sorag ýagdaýynda payload-dan täze talyby students slice-a goşýan goşmaça reducer-i goşuň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et