cari

Rumah  >  Soal Jawab  >  teks badan

Terokai cara untuk mengubah suai nilai tatasusunan dalam kepingan Redux Store

<p>Saya mempunyai Slice untuk menyimpan maklumat lokasi. Saya mengisytiharkan dua fungsi, set dan setLocation. Fungsi set menerima tatasusunan lokasi, dan fungsi setLocation harus menetapkan lokasi. </p> <p>Ini ialah data sampel yang disimpan dalam pembolehubah lokasi: </p> <pre class="brush:php;toolbar:false;">const locations = [{name: '1', index: 0}, {name: '2', index: 1}];</pre> ; <p>Ini adalah kod kepingan saya: </p> <pre class="brush:php;toolbar:false;">import { createSlice } daripada '@reduxjs/toolkit' eksport const locationsSlice = createSlice({ nama: 'lokasi', keadaan awal: { lokasi: null, }, pengurang: { set: (negeri, lokasi) => state.locations = locations.payload }, setLocation: (negeri, lokasi) => state.locations[location.index] = lokasi } }, }) export const { set, setLocation } = locationsSlice.actions eksport lokasi lalaiSlice.reducer</pre> <p>Panggilan untuk menetapkan(lokasi) adalah sah. Tetapi apabila lokasi ialah nilai dalam tatasusunan lokasi, saya tidak boleh menggunakan setLocation(lokasi) untuk menggantikan satu lokasi dalam tatasusunan lokasi. Apabila saya menggunakan console.log(state.location) dalam fungsi setLocation(), saya mendapat beberapa objek proksi. </p>
P粉197639753P粉197639753453 hari yang lalu435

membalas semua(1)saya akan balas

  • P粉248602298

    P粉2486022982023-08-31 09:48:51

    Anda di sinisetLocation操作中得到Proxy的问题是因为在搜索特定位置时,你传递了location.index,但你应该传递location.payload.index.

    setLocation: (state, location) => {
       state.locations[location.payload.index] = location
    }

    balas
    0
  • Batalbalas