Rumah  >  Soal Jawab  >  teks badan

Adakah setiap atribut memerlukan pengurang?

<p>Saya mengikuti tutorial ini untuk menambah nombor. </p> <p>Ia berfungsi, tetapi sekarang saya mahu melaksanakannya kepada kira-kira 100 nilai konfigurasi. Adakah saya perlu menyalin counterSlice.js 100 kali atau adakah saya perlu menggantikan nombor dengan objek dengan 100 sifat? </p> <p>counterSlice.js</p> <pre class="brush:php;toolbar:false;">eksport const counterSlice = createSlice({ nama: 'kaunter', keadaan awal: { nilai: 0, }, pengurang: { kenaikan: (nyatakan) => // Redux Toolkit membolehkan kami menulis logik "pengubahsuaian" dalam pengurang. Ia sebenarnya tidak mengubah keadaan kerana ia menggunakan perpustakaan Immer, // Ia mengesan perubahan kepada "keadaan draf" dan menjana keadaan tidak berubah serba baharu berdasarkan perubahan tersebut. // Selain itu, fungsi ini tidak memerlukan penyata pulangan. keadaan.nilai += 1 }, penurunan: (nyatakan) => state.value -= 1 }, incrementByAmount: (nyatakan, tindakan) => state.value += action.payload }, }, }) // Hasilkan pencipta tindakan untuk setiap fungsi pengurangan kes export const { increment, decrement, incrementByAmount } = counterSlice.actions eksport lalai counterSlice.reducer</pre> <p><br /></p>
P粉124070451P粉124070451451 hari yang lalu420

membalas semua(1)saya akan balas

  • P粉404539732

    P粉4045397322023-08-18 09:20:48

    Dalam sesetengah kes, mungkin bijak untuk mencipta fungsi secara eksplisit untuk setiap medan status. Tetapi jika anda mempunyai sekitar 100 medan status, maka anda perlu mengambil pendekatan yang lebih umum.

    Saya mengesyorkan memasukkan medan keyvalue dalam muatan fungsi pengurang.

    export const configSlice = createSlice({
      name: 'config',
      initialState: {},
      reducers: {
        setConfigValue: (state, action) => {
          const { key, value } = action.payload;
    
          state[key] = value;
        },
      },
    })

    balas
    0
  • Batalbalas