Ansluta Redux till React-Komponenter
Teori
För att etablera en koppling mellan React-komponenter och Redux-butiken kan vi använda hooken useSelector för att komma åt tillståndet och hooken useDispatch för att skicka åtgärder.
Praktik
Nu ska vi koppla Counter-komponenten till Redux-butiken.
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;
Kodförklaring:
- Rad 2: Importera de nödvändiga hookarna 
useSelectorochuseDispatchfrån biblioteketreact-redux. Dessa hookar möjliggör kopplingen mellan React och Redux; - Rad 3: Importera åtgärdsskaparna 
incrementochdecrementfrån filen../redux/actions/counterAction. Dessa åtgärder skickas för att uppdatera counter-tillståndet i Redux-butiken; - Rad 6: Hooken 
useSelectoranvänds för att komma åtcounter-tillståndet från Redux-butiken. Vi tillhandahåller en selektorfunktion som argument, vilken returnerar önskat tillståndsvärde; - Rad 7: Hooken 
useDispatchanvänds för att komma åt Redux-funktionendispatch. Den refererar till funktionendispatch, som används för att skicka åtgärder till Redux-butiken; - Rad 9-11: Definiera eventhanteraren 
handleIncrementsom anropas när knappen "Increment" klickas. Vi skickar åtgärdenincrementtill Redux-butiken inuti hanteraren med hjälp av funktionendispatch; - Rad 13-15: Definiera eventhanteraren 
handleDecrementsom anropas när knappen "Decrement" klickas. Vi skickar åtgärdendecrementtill Redux-butiken inuti hanteraren med hjälp av funktionendispatch; - Rad 17-23: Rendera JSX-elementen, inklusive det aktuella counter-värdet och knappar för att öka och minska. Vi kopplar respektive eventhanterare till knapparnas 
onClick-attribut. 
Notera
Denna kod kopplar en React-komponent (
Counter) till Redux. Den använderuseSelectorför att komma åt counter-tillståndet ochuseDispatchför att skicka åtgärder för tillståndsuppdateringar. Komponentens uppgift är att visa counter-värdet och tillhandahålla knappar för att öka och minska det. När dessa knappar klickas skickas åtgärder som uppdaterar Redux-butiken.
1. Hur etablerar du en anslutning mellan React-komponenter och Redux-butiken för att få åtkomst till tillståndet?
2. Vad är syftet med useSelector-hooken i koden?
3. Vad gör funktionen handleDecrement när den anropas?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 4.17
Ansluta Redux till React-Komponenter
Svep för att visa menyn
Teori
För att etablera en koppling mellan React-komponenter och Redux-butiken kan vi använda hooken useSelector för att komma åt tillståndet och hooken useDispatch för att skicka åtgärder.
Praktik
Nu ska vi koppla Counter-komponenten till Redux-butiken.
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;
Kodförklaring:
- Rad 2: Importera de nödvändiga hookarna 
useSelectorochuseDispatchfrån biblioteketreact-redux. Dessa hookar möjliggör kopplingen mellan React och Redux; - Rad 3: Importera åtgärdsskaparna 
incrementochdecrementfrån filen../redux/actions/counterAction. Dessa åtgärder skickas för att uppdatera counter-tillståndet i Redux-butiken; - Rad 6: Hooken 
useSelectoranvänds för att komma åtcounter-tillståndet från Redux-butiken. Vi tillhandahåller en selektorfunktion som argument, vilken returnerar önskat tillståndsvärde; - Rad 7: Hooken 
useDispatchanvänds för att komma åt Redux-funktionendispatch. Den refererar till funktionendispatch, som används för att skicka åtgärder till Redux-butiken; - Rad 9-11: Definiera eventhanteraren 
handleIncrementsom anropas när knappen "Increment" klickas. Vi skickar åtgärdenincrementtill Redux-butiken inuti hanteraren med hjälp av funktionendispatch; - Rad 13-15: Definiera eventhanteraren 
handleDecrementsom anropas när knappen "Decrement" klickas. Vi skickar åtgärdendecrementtill Redux-butiken inuti hanteraren med hjälp av funktionendispatch; - Rad 17-23: Rendera JSX-elementen, inklusive det aktuella counter-värdet och knappar för att öka och minska. Vi kopplar respektive eventhanterare till knapparnas 
onClick-attribut. 
Notera
Denna kod kopplar en React-komponent (
Counter) till Redux. Den använderuseSelectorför att komma åt counter-tillståndet ochuseDispatchför att skicka åtgärder för tillståndsuppdateringar. Komponentens uppgift är att visa counter-värdet och tillhandahålla knappar för att öka och minska det. När dessa knappar klickas skickas åtgärder som uppdaterar Redux-butiken.
1. Hur etablerar du en anslutning mellan React-komponenter och Redux-butiken för att få åtkomst till tillståndet?
2. Vad är syftet med useSelector-hooken i koden?
3. Vad gör funktionen handleDecrement när den anropas?
Tack för dina kommentarer!