⊗jsrxPmATGS 51 of 57 menu

Mendapatkan Data Penjual di Redux

Mari jalankan aplikasi kita dengan produk. Kita melihat bahwa di kartu produk penjual tidak ditampilkan. Mari kita dapatkan dari server dan tampilkan data tersebut. Untuk ini kita harus melakukan urutan tindakan yang sudah dikenal.

Pertama, buka file server.js. Temukan array handlers dan tambahkan satu lagi penanganan permintaan GET (setelah penanganan GET untuk produk). Seperti yang Anda lihat, ini hampir identik:

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

Kita telah menangani permintaan di server. Tahap berikutnya adalah di file sellersSlice.js kita harus menulis thunk untuk mendapatkan data dari server. Untuk itu, impor client dan createAsyncThunk ke dalamnya:

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

Sekarang kita akan mendapatkan penjual dari server, oleh karena itu hapus mereka dari initialState, biarkan hanya tanda kurung kosong:

const initialState = []

Kemudian sebelum fungsi sellersSlice buat thunk kita fetchSellers. Ke client kita berikan path yang telah kita tentukan di server:

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

Kita hanya perlu membuat reducer tambahan untuk sellersSlice. Mari batasi diri kita di sini pada penanganan permintaan yang berhasil. Semua aksi yang dihasilkan oleh fetchSellers akan identik dengan aksi fetchProducts:

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

Ingat, bahwa sebelumnya saat mendapatkan produk kita mengubah nilai state saat ini. Di sini kita menggunakan cara yang sedikit berbeda dan hanya mengembalikan nilai baru, karena di createSlice itu juga bisa dilakukan. Dengan demikian kita mencapai dua tujuan. Pertama, kita mendapatkan data, dan kedua, sekarang kita memiliki jaminan bahwa dalam daftar penjual tidak akan muncul sesuatu yang lain, karena kita sepenuhnya menggantikan slice dengan nilai action.payload.

Buka aplikasi Anda dengan para siswa. Buka file server.js di dalamnya, tambahkan satu lagi penangan untuk permintaan GET pengajar ke array handlers.

Dan sekarang buka file teachersSlice.js. Buat initialState menjadi array kosong, seperti yang ditunjukkan dalam pelajaran. Sebelum fungsi studentsSlice tulis thunk fetchTeachers.

Dalam fungsi createSlice tambahkan reducer tambahan, batasi diri pada penanganan permintaan yang berhasil.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak