⊗jsrxPmATDT 54 of 57 menu

Kutuma Data Kwa Kutumia Thunk Katika Redux

Katika somo lililopita tulichambua usindikaji wa ombi la POST kwenye seva yetu bandia. Sasa tuandike kitendakazi cha thunk ambacho kitatumia ombi kwa seva.

Tufungue programu yetu ya bidhaa, na ndani yake faili productsSlice.js. Sasa baada ya thunk fetchProducts tutatumia createAsyncThunk kuunda thunk addProduct:

export const addProduct = createAsyncThunk()

Kigezo cha kwanza tutakiita kwenye createAsyncThunk 'products/addProduct', na cha pili kiitiko cha asinkroni, ambacho kitakubali kitu chenye data ya bidhaa mpya:

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

Katika msimbo wa kiitiko hiki tutaiita mteja, tukikipitishia kigezo njia na kitu chenye bidhaa, kisha turudishe data ya majibu:

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

Sasa chini kwenye msimbo tuangalie uga reducers kwa productsSlice. Hapo awali tulikuwa tunaongeza bidhaa mpya kwa kutumia reducer productAdded, ambamo tulikuwa na njia reducer na prepare. Sasa tunazalisha data inayohitajika kwenye seva na kufanya kazi na thunk, kwa hivyo tutaondoa hapa kabisa reducer productAdded kutoka kwenye msimbo. Kisha tuingize ndani ya Njia extraReducers (mwisho wa msimbo wake) reducer nyongeza zaidi, ambayo katika tukio la ombi lililofanikiwa litaongeza kwenye kipande products bidhaa mpya moja kwa moja kutoka payload ya kitendo (kumbuka, msimbo kama huu unawezekana sana kwa shukrani ya createSlice isiyo ya kawaida):

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

Ndio, kwa njia, usisahau kuondoa nanoid kutoka kwenye mistari ya uagizaji, na productAdded kutoka kwa uhamishaji wa vitendo mwishoni mwa faili.

Fungua programu yako ya wanafunzi. Fungua ndani yake faili studentsSlice.js. Kwa msaada wa createAsyncThunk unda thunk nyingine addStudent, ambayo itatumia ombi la POST kwa seva, ili kuongeza mwanafunzi mpya, kama inavyoonyeshwa kwenye somo.

Ifuatayo chini ingiza mabadiliko kwa studentsSlice: ondoa kabisa reducer studentAdded katika sifa reducers. Na kwenye uga extraReducers ongeza reducer nyongeza ambayo itaongeza mwanafunzi mpya kwenye kipande students kutoka payload ya kitendo katika tukio la ombi lililofanikiwa, kama inavyoonyeshwa kwenye somo.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa