Benötigt jedes Attribut einen Reduzierer?
P粉124070451
2023-08-17 14:47:45
<p>Ich folge dieser Anleitung, um eine Zahl zu erhöhen. </p>
<p>Es funktioniert, aber jetzt möchte ich es auf etwa 100 Konfigurationswerte implementieren. Muss ich counterSlice.js 100 Mal kopieren oder muss ich die Nummer durch ein Objekt mit 100 Eigenschaften ersetzen? </p>
<p>counterSlice.js</p>
<pre class="brush:php;toolbar:false;">export const counterSlice = createSlice({
Name: 'Zähler',
Ausgangszustand: {
Wert: 0,
},
Reduzierstücke: {
Inkrement: (Zustand) =>
// Redux Toolkit ermöglicht es uns, „Modifikations“-Logik in Reduzierern zu schreiben. Der Status wird nicht wirklich geändert, da die Immer-Bibliothek verwendet wird.
// Es erkennt Änderungen am „Entwurfsstatus“ und generiert basierend auf diesen Änderungen einen brandneuen unveränderlichen Status.
// Darüber hinaus erfordern diese Funktionen keine Return-Anweisung.
Zustand.Wert += 1
},
dekrementieren: (state) =>
state.value -= 1
},
incrementByAmount: (state, action) =>
state.value += action.payload
},
},
})
// Aktionsersteller für jede Case-Reduction-Funktion generieren
export const { inkrementieren, dekrementieren, inkrementierenByAmount } = counterSlice.actions
Exportieren Sie den StandardcounterSlice.reducer</pre>
<p><br /></p>
在某些情况下,明确为每个状态字段创建函数可能是明智的。但是如果你确实有大约100个状态字段,那么你需要采用更通用的方法。
我建议在reducer函数的payload中包含一个
key
和value
字段。