Reduxin Yhdistäminen React-Komponentteihin
Teoria
React-komponenttien ja Redux-kaupan yhdistämiseksi voidaan käyttää useSelector-hookia tilan lukemiseen ja useDispatch-hookia toimintojen lähettämiseen.
Käytännön esimerkki
Seuraavaksi yhdistetään Counter-komponentti Redux-kauppaan.
import React from "react";
import { useSelector, useDispatch } from "react-redux";
import { increment, decrement } from "../redux/actions/counterAction";
const Counter = () => {
  const counter = useSelector((state) => state.counter);
  const dispatch = useDispatch();
  const handleIncrement = () => {
    dispatch(increment());
  };
  const handleDecrement = () => {
    dispatch(decrement());
  };
  return (
    <div>
      <h2>Counter Value: {counter}</h2>
      <button onClick={handleIncrement}>Increment</button>
      <button onClick={handleDecrement}>Decrement</button>
    </div>
  );
};
export default Counter;
Koodin selitys:
- Rivi 2: Tuodaan tarvittavat hookit 
useSelectorjauseDispatchreact-redux-kirjastosta. Näiden hookien avulla yhdistetään React ja Redux; - Rivi 3: Tuodaan 
increment- jadecrement-toimintojen luojat tiedostosta../redux/actions/counterAction. Näitä toimintoja käytetään laskurin tilan päivittämiseen Redux-kaupassa; - Rivi 6: 
useSelector-hookilla luetaancounter-tila Redux-kaupasta. Argumenttina annetaan valintafunktio, joka palauttaa halutun tilan arvon; - Rivi 7: 
useDispatch-hookilla saadaan käyttöön Reduxindispatch-funktio. Se viittaadispatch-funktioon, jota käytetään toimintojen lähettämiseen Redux-kauppaan; - Rivit 9–11: Määritellään tapahtumankäsittelijä 
handleIncrement, joka kutsutaan, kun "Increment"-painiketta painetaan. Toimintoincrementlähetetään Redux-kauppaandispatch-funktiolla; - Rivit 13–15: Määritellään tapahtumankäsittelijä 
handleDecrement, joka kutsutaan, kun "Decrement"-painiketta painetaan. Toimintodecrementlähetetään Redux-kauppaandispatch-funktiolla; - Rivit 17–23: Renderöidään JSX-elementit, mukaan lukien nykyinen laskurin arvo sekä painikkeet arvon kasvattamiseen ja pienentämiseen. Tapahtumankäsittelijät liitetään painikkeiden 
onClick-attribuutteihin. 
Huomio
Tämä koodi yhdistää React-komponentin (
Counter) Reduxtiin. Se käyttääuseSelector-hookia laskurin tilan lukemiseen jauseDispatch-hookia toimintojen lähettämiseen tilan päivityksiä varten. Komponentti näyttää laskurin arvon ja tarjoaa painikkeet arvon kasvattamiseen ja pienentämiseen. Painikkeiden painaminen laukaisee toiminnot, jotka päivittävät Redux-kaupan.
1. Miten muodostetaan yhteys React-komponenttien ja Redux-kaupan välille tilan käyttämistä varten?
2. Mikä on useSelector-hookin tarkoitus koodissa?
3. Mitä handleDecrement-funktio tekee, kun sitä kutsutaan?
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
Reduxin Yhdistäminen React-Komponentteihin
Pyyhkäise näyttääksesi valikon
Teoria
React-komponenttien ja Redux-kaupan yhdistämiseksi voidaan käyttää useSelector-hookia tilan lukemiseen ja useDispatch-hookia toimintojen lähettämiseen.
Käytännön esimerkki
Seuraavaksi yhdistetään Counter-komponentti Redux-kauppaan.
import React from "react";
import { useSelector, useDispatch } from "react-redux";
import { increment, decrement } from "../redux/actions/counterAction";
const Counter = () => {
  const counter = useSelector((state) => state.counter);
  const dispatch = useDispatch();
  const handleIncrement = () => {
    dispatch(increment());
  };
  const handleDecrement = () => {
    dispatch(decrement());
  };
  return (
    <div>
      <h2>Counter Value: {counter}</h2>
      <button onClick={handleIncrement}>Increment</button>
      <button onClick={handleDecrement}>Decrement</button>
    </div>
  );
};
export default Counter;
Koodin selitys:
- Rivi 2: Tuodaan tarvittavat hookit 
useSelectorjauseDispatchreact-redux-kirjastosta. Näiden hookien avulla yhdistetään React ja Redux; - Rivi 3: Tuodaan 
increment- jadecrement-toimintojen luojat tiedostosta../redux/actions/counterAction. Näitä toimintoja käytetään laskurin tilan päivittämiseen Redux-kaupassa; - Rivi 6: 
useSelector-hookilla luetaancounter-tila Redux-kaupasta. Argumenttina annetaan valintafunktio, joka palauttaa halutun tilan arvon; - Rivi 7: 
useDispatch-hookilla saadaan käyttöön Reduxindispatch-funktio. Se viittaadispatch-funktioon, jota käytetään toimintojen lähettämiseen Redux-kauppaan; - Rivit 9–11: Määritellään tapahtumankäsittelijä 
handleIncrement, joka kutsutaan, kun "Increment"-painiketta painetaan. Toimintoincrementlähetetään Redux-kauppaandispatch-funktiolla; - Rivit 13–15: Määritellään tapahtumankäsittelijä 
handleDecrement, joka kutsutaan, kun "Decrement"-painiketta painetaan. Toimintodecrementlähetetään Redux-kauppaandispatch-funktiolla; - Rivit 17–23: Renderöidään JSX-elementit, mukaan lukien nykyinen laskurin arvo sekä painikkeet arvon kasvattamiseen ja pienentämiseen. Tapahtumankäsittelijät liitetään painikkeiden 
onClick-attribuutteihin. 
Huomio
Tämä koodi yhdistää React-komponentin (
Counter) Reduxtiin. Se käyttääuseSelector-hookia laskurin tilan lukemiseen jauseDispatch-hookia toimintojen lähettämiseen tilan päivityksiä varten. Komponentti näyttää laskurin arvon ja tarjoaa painikkeet arvon kasvattamiseen ja pienentämiseen. Painikkeiden painaminen laukaisee toiminnot, jotka päivittävät Redux-kaupan.
1. Miten muodostetaan yhteys React-komponenttien ja Redux-kaupan välille tilan käyttämistä varten?
2. Mikä on useSelector-hookin tarkoitus koodissa?
3. Mitä handleDecrement-funktio tekee, kun sitä kutsutaan?
Kiitos palautteestasi!