⊗jsrxPmSDSSC 35 of 57 menu

Mengubah Struktur State di Redux

Tahap pertama yang akan kita implementasikan untuk interaksi aplikasi Redux kita dengan server eksternal adalah mendapatkan data yang disimpan di dalamnya saat aplikasi dijalankan. Namun sebelumnya, mari kita lakukan beberapa perubahan pada aplikasi kita.

Buka aplikasi produk kita, dan di dalamnya file productsSlice.js. Perhatikan definisi initialState. Awalnya slice kita dengan produk productsSlice adalah sebuah array, di mana terdapat objek (dalam kasus kita ada dua) dengan data produk. Pertama, karena sekarang kita akan memuatnya dari server, maka kita perlu menghapusnya dari initialState. Kedua, kita akan mengirim permintaan API ke server dan penting bagi kita untuk mengetahui statusnya. Mempertimbangkan dua hal ini, mari ubah initialState. Sekarang biarkan ini menjadi objek sederhana dengan bidang products (awalnya tidak akan ada data di sini, hanya array kosong), status dan error. Sekarang kode kita untuk initialState akan menjadi sedikit lebih pendek:

const initialState = { products: [], status: 'idle', error: null, }

Sementara kita menetapkan status 'idle' (menganggur), karena awalnya kita tidak mengirimkan permintaan apa pun, tetapi secara umum status akan berubah dan dapat mengambil nilai 'loading', 'succeeded', 'failed'. Ingatlah bahwa untuk menunjukkan status, Anda dapat memilih nama-nama yang nyaman bagi Anda.

Turunkan lebih jauh ke kode. Setelah perubahan initialState, kita harus mengubah kode di mana kita bekerja dengan state ini di fungsi reducer. Mari lihat kode untuk productAdded:

state.push(action.payload)

Sekarang produk baru akan kita masukkan bukan hanya ke state untuk produk, tetapi ke propertinya state.products. Oleh karena itu, ganti baris di atas dengan:

state.products.push(action.payload)

Oleh karena itu, lakukan perubahan yang sama untuk reducer reactionClicked. Daripada:

const currentProduct = state.find((product) => product.id === productId)

Sekarang akan menjadi:

const currentProduct = state.products.find((product) => product.id === productId)

Gantilah sendiri state dengan state.products di kode reducer productUpdated.

Buka aplikasi Anda dengan siswa. Buka file studentsSlice.js di dalamnya. Biarkan sekarang initialState Anda memiliki tiga properti: students, status, error - ubahlah, seperti yang ditunjukkan dalam pelajaran.

Lakukan perubahan yang sesuai di bawah kode. Ganti state dengan state.students di kode untuk tiga fungsi reducer Anda.

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