Conectando o Redux com Componentes React
Teoria
Para estabelecer uma conexão entre componentes React e o store do Redux, pode-se utilizar o hook useSelector para acessar o estado e o hook useDispatch para despachar ações.
Prática
Agora, conecte o componente Counter ao store do Redux.
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;
Explicação do código:
- Linha 2: Importação dos hooks necessários 
useSelectoreuseDispatchda bibliotecareact-redux. Esses hooks permitem a conexão entre React e Redux; - Linha 3: Importação dos criadores de ação 
incrementedecrementdo arquivo../redux/actions/counterAction. Essas ações serão despachadas para atualizar o estado do contador no store do Redux; - Linha 6: O hook 
useSelectoré utilizado para acessar o estadocounterdo store do Redux. Uma função seletora é fornecida como argumento, retornando o valor de estado desejado; - Linha 7: O hook 
useDispatché utilizado para acessar a funçãodispatchdo Redux. Refere-se à funçãodispatch, que é usada para despachar ações ao store do Redux; - Linhas 9-11: Definição do manipulador de evento 
handleIncrement, chamado quando o botão "Increment" é clicado. A açãoincrementé despachada para o store do Redux dentro do manipulador usando a funçãodispatch; - Linhas 13-15: Definição do manipulador de evento 
handleDecrement, chamado quando o botão "Decrement" é clicado. A açãodecrementé despachada dentro do manipulador para o store do Redux usando a funçãodispatch; - Linhas 17-23: Renderização dos elementos JSX, incluindo o valor atual do contador e botões para incrementar e decrementar. Os respectivos manipuladores de evento são atribuídos ao atributo 
onClickdos botões. 
Nota
Este código conecta um componente React (
Counter) ao Redux. UtilizauseSelectorpara acessar o estado do contador euseDispatchpara despachar ações de atualização de estado. O componente exibe o valor do contador e fornece botões para incrementá-lo e decrementá-lo. Ao clicar nesses botões, ações são disparadas para atualizar o store do Redux.
1. Como estabelecer uma conexão entre componentes React e a store do Redux para acessar o estado?
2. Qual é o propósito do hook useSelector no código?
3. O que a função handleDecrement faz quando chamada?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain how the `useSelector` hook works in this example?
What happens if I click the increment or decrement button?
Can you describe what the `dispatch` function does in this code?
Awesome!
Completion rate improved to 4.17
Conectando o Redux com Componentes React
Deslize para mostrar o menu
Teoria
Para estabelecer uma conexão entre componentes React e o store do Redux, pode-se utilizar o hook useSelector para acessar o estado e o hook useDispatch para despachar ações.
Prática
Agora, conecte o componente Counter ao store do Redux.
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;
Explicação do código:
- Linha 2: Importação dos hooks necessários 
useSelectoreuseDispatchda bibliotecareact-redux. Esses hooks permitem a conexão entre React e Redux; - Linha 3: Importação dos criadores de ação 
incrementedecrementdo arquivo../redux/actions/counterAction. Essas ações serão despachadas para atualizar o estado do contador no store do Redux; - Linha 6: O hook 
useSelectoré utilizado para acessar o estadocounterdo store do Redux. Uma função seletora é fornecida como argumento, retornando o valor de estado desejado; - Linha 7: O hook 
useDispatché utilizado para acessar a funçãodispatchdo Redux. Refere-se à funçãodispatch, que é usada para despachar ações ao store do Redux; - Linhas 9-11: Definição do manipulador de evento 
handleIncrement, chamado quando o botão "Increment" é clicado. A açãoincrementé despachada para o store do Redux dentro do manipulador usando a funçãodispatch; - Linhas 13-15: Definição do manipulador de evento 
handleDecrement, chamado quando o botão "Decrement" é clicado. A açãodecrementé despachada dentro do manipulador para o store do Redux usando a funçãodispatch; - Linhas 17-23: Renderização dos elementos JSX, incluindo o valor atual do contador e botões para incrementar e decrementar. Os respectivos manipuladores de evento são atribuídos ao atributo 
onClickdos botões. 
Nota
Este código conecta um componente React (
Counter) ao Redux. UtilizauseSelectorpara acessar o estado do contador euseDispatchpara despachar ações de atualização de estado. O componente exibe o valor do contador e fornece botões para incrementá-lo e decrementá-lo. Ao clicar nesses botões, ações são disparadas para atualizar o store do Redux.
1. Como estabelecer uma conexão entre componentes React e a store do Redux para acessar o estado?
2. Qual é o propósito do hook useSelector no código?
3. O que a função handleDecrement faz quando chamada?
Obrigado pelo seu feedback!