Redux é amplamente reconhecido como uma biblioteca robusta de gerenciamento de estado projetada especificamente para aplicativos JavaScript, frequentemente utilizada em conjunto com a popular estrutura React. Ao oferecer um contêiner de estado confiável, o Redux estabelece uma base sólida que simplifica muito a tarefa de lidar e solucionar problemas de estados de aplicativos. Este guia se aprofunda nos componentes fundamentais que compõem o Redux, fornecendo explicações detalhadas de cada elemento e ilustrando como eles interoperam sinergicamente para agilizar a funcionalidade geral do aplicativo. Esta exploração aprofundada visa elucidar o funcionamento interno do Redux, capacitando os desenvolvedores a compreender os meandros desta ferramenta de gerenciamento de estado e aproveitar seus recursos de forma eficaz em seus projetos.
Redux segue um modelo de fluxo de dados unidirecional e é baseado em três princípios básicos:
Primeiro, instale Redux e React-Redux:
npm install redux react-redux @reduxjs/toolkit
Este comando instala a biblioteca central Redux, as ligações React para Redux e o Redux Toolkit, que simplifica muitas tarefas comuns, como configurar o armazenamento e criar fatias.
Ações são cargas úteis de informações que enviam dados do seu aplicativo para sua loja Redux. Os tipos de ação são constantes que representam a ação.
export const INCREMENT = "INCREMENT"; export const DECREMENT = "DECREMENT"; export const INCREMENT_BY_VALUE = "INCREMENT_BY_VALUE"; export const RESET = "RESET"; export const increment = () => ({ type: INCREMENT }); export const decrement = () => ({ type: DECREMENT }); export const incrementByValue = (value) => ({ type: INCREMENT_BY_VALUE, payload: value, }); export const reset = () => ({ type: RESET });
Definir claramente ações e tipos de ação ajuda a manter a consistência e reduz erros em seu aplicativo.
Os redutores especificam como o estado do aplicativo muda em resposta às ações enviadas à loja. Fatias são uma coleção de lógica e ações redutoras do Redux para um único recurso do seu aplicativo, criadas usando o método createSlice do Redux Toolkit.
import { createSlice } from "@reduxjs/toolkit"; const initialState = { number: 0 }; const counterSlice = createSlice({ name: "counter", initialState, reducers: { increment: (state) => { state.number = 5; }, decrement: (state) => { state.number = Math.max(0, state.number - 5); }, incrementByValue: (state, action) => { state.number = action.payload; }, reset: (state) => { state.number = 0; }, }, }); export const { increment, decrement, incrementByValue, reset } = counterSlice.actions; export default counterSlice.reducer;
Para combinar várias fatias:
import { combineReducers } from "@reduxjs/toolkit"; import counterReducer from "../slices/counterSlice"; const rootReducer = combineReducers({ counter: counterReducer, }); export default rootReducer;
A loja é o objeto que reúne ações e redutores. Ele mantém o estado do aplicativo, permite acesso a ele via getState(), atualiza-o via dispatch(action) e registra ouvintes via subscribe(listener).
import { configureStore } from "@reduxjs/toolkit"; import rootReducer from "../reducers/rootReducer"; const store = configureStore({ reducer: rootReducer, }); export default store;
Para conectar componentes React ao armazenamento Redux, use o componente Provider do react-redux para passar o armazenamento para seus componentes e use os ganchos useSelector e useDispatch para acessar e manipular o estado.
import React from "react"; import { Provider } from "react-redux"; import store from "./redux/store/store"; import Counter from "./components/Counter"; import MusCo from "./MusCo redux logo.png"; function App() { return (); } export default App; Practice Redux with MusCo
by Mustafa Coskuncelebi
import { useDispatch, useSelector } from "react-redux"; import { decrement, increment, incrementByValue, reset, } from "../slices/counterSlice"; import { useState, useEffect } from "react"; function Counter() { const [value, setValue] = useState(""); const dispatch = useDispatch(); const number = useSelector((state) => state.counter.number); useEffect(() => { const showcase = document.querySelector("#showcase"); if (numberCounter
{number}
{ let newValue = e.target.value.trim(); if (newValue === "") { newValue = ""; reset(); } if (/^\d*$/.test(newValue)) { setValue(newValue); } }} value={value} placeholder="Enter Value" />Counter cannot be less than 0
); } export default Counter;
Redux é uma biblioteca poderosa para gerenciar o estado em seus aplicativos. Ao compreender as ações, os redutores, o armazenamento e como conectar tudo aos seus componentes React, você pode criar aplicativos previsíveis e de fácil manutenção.
Para mais informações, confira a documentação oficial do Redux:
Ao seguir este guia, você deverá ter um conhecimento sólido do Redux e ser capaz de implementá-lo em seus próprios aplicativos.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3