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!