Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Comprendere il Ruolo dei Reducer | Applicazione di Redux Toolkit in React
Gestione dello Stato con Redux Toolkit in React

bookComprendere il Ruolo dei Reducer

Teoria

I reducer sono funzioni pure che specificano come lo stato deve cambiare in risposta alle azioni inviate. Prendendo lo stato attuale e un'azione come parametri, i reducer restituiscono il nuovo stato dell'applicazione.

Pratica

Nella cartella reducers del nostro progetto, abbiamo il file counterReducer.js dove definiamo il reducer per la funzionalità del contatore:

import { createReducer } from "@reduxjs/toolkit";
import { increment, decrement } from "../actions/counterAction.js";

const initialState = 0;

const counterReducer = createReducer(initialState,
  (builder) => {
    builder
      .addCase(increment, (state) => state + 1)
      .addCase(decrement, (state) => state - 1);
});

export default counterReducer;

Spiegazione del codice:

  • Riga 1: Importa la funzione createReducer dal pacchetto @reduxjs/toolkit. Questa funzione viene utilizzata per creare reducer in Redux;
  • Riga 2: Importa i creator di azioni increment e decrement dal file ../actions/counterAction.js. Questi creator di azioni vengono utilizzati per definire le azioni che il reducer gestirà;
  • Riga 4: Imposta la costante initialState a 0. Questo rappresenta il valore iniziale del contatore nello store Redux;
  • Riga 6: Utilizza la funzione createReducer per definire il counterReducer;
  • Riga 6-11: La funzione createReducer accetta due argomenti: l'initialState e una funzione di callback che definisce come lo stato deve essere aggiornato in base alle azioni inviate;
  • Riga 7: Utilizza l'oggetto builder per definire i casi per le diverse azioni all'interno della funzione di callback;
  • Riga 9, 10: Utilizza il metodo addCase dell'oggetto builder per definire come lo stato deve essere aggiornato quando vengono inviate azioni specifiche, come increment e decrement;
  • Riga 9, 10: La funzione di callback all'interno di addCase prende lo stato attuale (state) come argomento e restituisce il nuovo stato dopo aver applicato l'azione corrispondente;
  • In questo caso, quando viene inviata l'azione increment, lo stato viene incrementato di 1; quando viene inviata l'azione decrement, lo stato viene decrementato di 1;
  • Riga 13: Infine, esporta il counterReducer come esportazione predefinita del modulo.

Nota

In sintesi, il counterReducer gestirà le azioni inviate e aggiornerà di conseguenza lo stato del contatore nello store Redux.

1. Quale funzione viene utilizzata per creare i reducer in Redux?

2. Qual è lo scopo dell'oggetto builder nel codice?

3. Cosa succede allo stato quando viene dispatchata l'azione increment?

question mark

Quale funzione viene utilizzata per creare i reducer in Redux?

Select the correct answer

question mark

Qual è lo scopo dell'oggetto builder nel codice?

Select the correct answer

question mark

Cosa succede allo stato quando viene dispatchata l'azione increment?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 7

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain how the builder callback works in createReducer?

What happens if an unknown action is dispatched to the counterReducer?

Can you show an example of how to dispatch the increment or decrement actions?

Awesome!

Completion rate improved to 4.17

bookComprendere il Ruolo dei Reducer

Scorri per mostrare il menu

Teoria

I reducer sono funzioni pure che specificano come lo stato deve cambiare in risposta alle azioni inviate. Prendendo lo stato attuale e un'azione come parametri, i reducer restituiscono il nuovo stato dell'applicazione.

Pratica

Nella cartella reducers del nostro progetto, abbiamo il file counterReducer.js dove definiamo il reducer per la funzionalità del contatore:

import { createReducer } from "@reduxjs/toolkit";
import { increment, decrement } from "../actions/counterAction.js";

const initialState = 0;

const counterReducer = createReducer(initialState,
  (builder) => {
    builder
      .addCase(increment, (state) => state + 1)
      .addCase(decrement, (state) => state - 1);
});

export default counterReducer;

Spiegazione del codice:

  • Riga 1: Importa la funzione createReducer dal pacchetto @reduxjs/toolkit. Questa funzione viene utilizzata per creare reducer in Redux;
  • Riga 2: Importa i creator di azioni increment e decrement dal file ../actions/counterAction.js. Questi creator di azioni vengono utilizzati per definire le azioni che il reducer gestirà;
  • Riga 4: Imposta la costante initialState a 0. Questo rappresenta il valore iniziale del contatore nello store Redux;
  • Riga 6: Utilizza la funzione createReducer per definire il counterReducer;
  • Riga 6-11: La funzione createReducer accetta due argomenti: l'initialState e una funzione di callback che definisce come lo stato deve essere aggiornato in base alle azioni inviate;
  • Riga 7: Utilizza l'oggetto builder per definire i casi per le diverse azioni all'interno della funzione di callback;
  • Riga 9, 10: Utilizza il metodo addCase dell'oggetto builder per definire come lo stato deve essere aggiornato quando vengono inviate azioni specifiche, come increment e decrement;
  • Riga 9, 10: La funzione di callback all'interno di addCase prende lo stato attuale (state) come argomento e restituisce il nuovo stato dopo aver applicato l'azione corrispondente;
  • In questo caso, quando viene inviata l'azione increment, lo stato viene incrementato di 1; quando viene inviata l'azione decrement, lo stato viene decrementato di 1;
  • Riga 13: Infine, esporta il counterReducer come esportazione predefinita del modulo.

Nota

In sintesi, il counterReducer gestirà le azioni inviate e aggiornerà di conseguenza lo stato del contatore nello store Redux.

1. Quale funzione viene utilizzata per creare i reducer in Redux?

2. Qual è lo scopo dell'oggetto builder nel codice?

3. Cosa succede allo stato quando viene dispatchata l'azione increment?

question mark

Quale funzione viene utilizzata per creare i reducer in Redux?

Select the correct answer

question mark

Qual è lo scopo dell'oggetto builder nel codice?

Select the correct answer

question mark

Cosa succede allo stato quando viene dispatchata l'azione increment?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 7
some-alt