⊗jsrxPmATGS 51 of 57 menu

Satıcıların məlumatlarını Redux-da əldə etmək

Gəlin proqramımızı məhsullarla işə salaq. Görürük ki, məhsul kartlarında satıcılar göstərilmir. Gəlin onları serverdən əldə edək və bu məlumatları çıxaraq. Bunun üçün biz artıq tanış olduğumuz ardıcıllığı yerinə yetirməliyik.

Əvvəlcə server.js faylını açaq. handlers massivini tapaq və ona daha bir GET sorğusunun emalını əlavə edək (məhsullar üçün GET emalından sonra). Gördüyünüz kimi, o demək olar ki eynidir:

http.get('/fakeServer/sellers', async () => { await delay(ARTIFICIAL_DELAY_MS) return HttpResponse.json(db.seller.getAll()) }),

Serverdə sorğunu emal etdik. Növbəti mərhələdə biz sellersSlice.js faylında serverdən məlumat əldə etmək üçün thunk yazmalıyıq. Bunun üçün ona clientcreateAsyncThunk import etməliyik:

import { createSlice, createAsyncThunk } from '@reduxjs/toolkit' import { client } from '../../api/client'

İndi biz satıcıları serverdən əldə edəcəyik, ona görə də onları initialState-dən çıxaraq, sadəcə boş mötərizə qoyaq:

const initialState = []

Və sonra sellersSlice funksiyasından əvvəl bizim thunk-ı fetchSellers yaradaq. Client-ə biz serverdə göstərdiyimiz yolu ötürəcəyik:

export const fetchSellers = createAsyncThunk( 'sellers/fetchSellers', async () => { const response = await client.get('/fakeServer/sellers') return response.data } )

Bizim üçün yalnız sellersSlice üçün əlavə reducer yaratmaq qalıb. Burada uğurlu sorğunun emalı ilə məhdudlaşaq. fetchSellers tərəfindən yaradılan bütün action-lar, fetchProducts-ın action-ları ilə eyni olacaq:

const sellersSlice = createSlice({ name: 'sellers', initialState, reducers: {}, extraReducers(builder) { builder.addCase(fetchSellers.fulfilled, (state, action) => { return action.payload }) }, })

Xatırladım ki, keçən dəfə məhsulları əldə edərkən biz cari state dəyərini dəyişirdik. Burada biz bir qədər fərqli yoldan istifadə etdik və sadəcə yeni dəyəri qaytardıq, çünki createSlice-da da bu mümkündür. Bununla biz iki məqsədə nail olduq. Birincisi, biz məlumatları əldə etdik, ikincisi, indi bizim satıcılar siyahısında başqa bir şeyin peyda olmayacağına zəmanətəmiz var, çünki biz tamamilə slice-ı action.payload dəyəri ilə yenidən yazdıq.

Tələbələr üçün olan proqramınızı açın. Orada server.js faylını açın, handlers massivinə müəllimlər üçün daha bir GET sorğusu emalı əlavə edin.

İndi teachersSlice.js faylını açın. initialState-i dərsdə göstərildiyi kimi boş massiv edin. studentsSlice funksiyasından əvvəl thunk fetchTeachers yazın.

createSlice funksiyasında əlavə reducer yazın, uğurlu sorğunun emalı ilə məhdudlaşın.

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