Reducereiden Roolin Ymmärtäminen
Teoria
Reducerit ovat puhtaita funktioita, jotka määrittelevät, miten tila muuttuu lähetettyjen toimintojen perusteella. Ottamalla nykyisen tilan ja toiminnon parametreina, reducerit palauttavat sovelluksen uuden tilan.
Käytännön esimerkki
Projektimme reducers-kansiossa on tiedosto counterReducer.js, jossa määritellään reducer laskuritoiminnallisuudelle:
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;
Koodin selitys:
- Rivi 1: Tuodaan 
createReducer-funktio@reduxjs/toolkit-paketista. Tätä funktiota käytetään reducerien luomiseen Reduxissa; - Rivi 2: Tuodaan 
incrementjadecrementaction creatorit tiedostosta../actions/counterAction.js. Näitä action creatoreita käytetään määrittelemään toiminnot, joita reducer käsittelee; - Rivi 4: Määritellään 
initialState-vakio arvoksi0. Tämä edustaa laskurin alkuarvoa Redux-tallennustilassa; - Rivi 6: Käytetään 
createReducer-funktiota määrittelemääncounterReducer; - Rivit 6-11: 
createReducer-funktio ottaa kaksi argumenttia:initialStateja palautefunktion, joka määrittelee, miten tila päivitetään lähetettyjen toimintojen perusteella; - Rivi 7: Käytetään 
builder-oliota määrittelemään eri toimintojen tapaukset palautefunktion sisällä; - Rivit 9, 10: Käytetään 
addCase-olionbuilder-metodia määrittelemään, miten tila päivitetään, kun tietyt toiminnot, kutenincrementjadecrement, lähetetään; - Rivit 9, 10: 
addCase-funktion palautefunktio ottaa nykyisen tilan (state) argumenttina ja palauttaa uuden tilan vastaavan toiminnon jälkeen; - Tässä tapauksessa, kun 
increment-toiminto lähetetään, tila kasvaa1:llä; kundecrement-toiminto lähetetään, tila pienenee1:llä; - Rivi 13: Lopuksi viedään 
counterReducermoduulin oletusvientinä. 
Huomio
Yhteenvetona,
counterReducerkäsittelee lähetetyt toiminnot ja päivittää laskurin tilan vastaavasti Redux-tallennustilassa.
1. Mitä funktiota käytetään reducerien luomiseen Reduxissa?
2. Mikä on builder-olion tarkoitus koodissa?
3. Mitä tapahtuu tilalle, kun increment-toiminto lähetetään?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 4.17
Reducereiden Roolin Ymmärtäminen
Pyyhkäise näyttääksesi valikon
Teoria
Reducerit ovat puhtaita funktioita, jotka määrittelevät, miten tila muuttuu lähetettyjen toimintojen perusteella. Ottamalla nykyisen tilan ja toiminnon parametreina, reducerit palauttavat sovelluksen uuden tilan.
Käytännön esimerkki
Projektimme reducers-kansiossa on tiedosto counterReducer.js, jossa määritellään reducer laskuritoiminnallisuudelle:
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;
Koodin selitys:
- Rivi 1: Tuodaan 
createReducer-funktio@reduxjs/toolkit-paketista. Tätä funktiota käytetään reducerien luomiseen Reduxissa; - Rivi 2: Tuodaan 
incrementjadecrementaction creatorit tiedostosta../actions/counterAction.js. Näitä action creatoreita käytetään määrittelemään toiminnot, joita reducer käsittelee; - Rivi 4: Määritellään 
initialState-vakio arvoksi0. Tämä edustaa laskurin alkuarvoa Redux-tallennustilassa; - Rivi 6: Käytetään 
createReducer-funktiota määrittelemääncounterReducer; - Rivit 6-11: 
createReducer-funktio ottaa kaksi argumenttia:initialStateja palautefunktion, joka määrittelee, miten tila päivitetään lähetettyjen toimintojen perusteella; - Rivi 7: Käytetään 
builder-oliota määrittelemään eri toimintojen tapaukset palautefunktion sisällä; - Rivit 9, 10: Käytetään 
addCase-olionbuilder-metodia määrittelemään, miten tila päivitetään, kun tietyt toiminnot, kutenincrementjadecrement, lähetetään; - Rivit 9, 10: 
addCase-funktion palautefunktio ottaa nykyisen tilan (state) argumenttina ja palauttaa uuden tilan vastaavan toiminnon jälkeen; - Tässä tapauksessa, kun 
increment-toiminto lähetetään, tila kasvaa1:llä; kundecrement-toiminto lähetetään, tila pienenee1:llä; - Rivi 13: Lopuksi viedään 
counterReducermoduulin oletusvientinä. 
Huomio
Yhteenvetona,
counterReducerkäsittelee lähetetyt toiminnot ja päivittää laskurin tilan vastaavasti Redux-tallennustilassa.
1. Mitä funktiota käytetään reducerien luomiseen Reduxissa?
2. Mikä on builder-olion tarkoitus koodissa?
3. Mitä tapahtuu tilalle, kun increment-toiminto lähetetään?
Kiitos palautteestasi!