Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
¿Qué es Redux Toolkit?
Redux Toolkit es nuestro conjunto de herramientas oficial, con opiniones definidas y listo para usar, diseñado para un desarrollo eficiente con Redux. Pretende ser la forma estándar de escribir lógica Redux, y recomendamos encarecidamente su uso.
Incluye varias utilidades que simplifican los casos de uso más comunes de Redux: configuración del store, definición de reductores, lógica de actualización inmutable e incluso creación completa de "slices" de estado sin necesidad de escribir manualmente creadores de acciones o tipos de acción. También incorpora los complementos de Redux más populares, como Redux Thunk para lógica asíncrona y Reselect para funciones selectoras, permitiéndote usarlos inmediatamente.
Instalación
Redux Toolkit está disponible como paquete en NPM para usar con empaquetadores de módulos o en aplicaciones Node:
# NPM
npm install @reduxjs/toolkit
# Yarn
yarn add @reduxjs/toolkit
Propósito
La biblioteca central de Redux es deliberadamente neutral. Te permite decidir cómo manejar todo: configuración del store, contenido del estado y construcción de reductores.
Esto es positivo en algunos casos por la flexibilidad que ofrece, pero no siempre necesitamos tanta libertad. A veces simplemente queremos la forma más sencilla de comenzar, con comportamientos predeterminados útiles desde el primer momento. O quizás estás desarrollando una aplicación grande y repites patrones de código similares, y te gustaría reducir la cantidad de código que escribes manualmente.
Redux Toolkit se creó originalmente para abordar tres preocupaciones comunes sobre Redux:
-
"Configurar un store de Redux es demasiado complejo"
-
"Debo añadir muchos paquetes para que Redux sea útil"
-
"Redux requiere demasiado código repetitivo"
No podemos resolver todos los casos de uso, pero siguiendo el espíritu de create-react-app y apollo-boost, podemos ofrecer un conjunto oficial recomendado de herramientas que cubra los casos más comunes y reduzca la necesidad de tomar decisiones adicionales.
Por qué deberías usar Redux Toolkit
Redux Toolkit facilita la creación de buenas aplicaciones Redux y acelera el desarrollo al integrar nuestras mejores prácticas recomendadas, ofrecer comportamientos predeterminados sólidos, detectar errores y permitirte escribir código más simple. Es beneficioso para todos los usuarios de Redux, independientemente de su nivel de experiencia. Puede añadirse al inicio de un nuevo proyecto o incorporarse gradualmente en proyectos existentes.
Ten en cuenta que no estás obligado a usar Redux Toolkit para utilizar Redux. Existen muchas aplicaciones que emplean otras bibliotecas auxiliares o escriben toda la lógica Redux "manualmente", y si prefieres otro enfoque, ¡adelante!
Sin embargo, recomendamos encarecidamente usar Redux Toolkit en todas las apps Redux.
En resumen, tanto si eres un usuario nuevo que configura su primer proyecto como un desarrollador experimentado que busca simplificar una aplicación existente, usar Redux Toolkit mejorará tu código y lo hará más mantenible.
Qué incluye
Redux Toolkit incorpora:
-
configureStore(): envuelvecreateStorepara ofrecer opciones de configuración simplificadas y buenos valores predeterminados. Combina automáticamente tus reductores por slice, añade cualquier middleware de Redux que proporciones, incluyeredux-thunkpor defecto y habilita el uso de Redux DevTools Extension. -
createReducer(): te permite proporcionar una tabla de búsqueda de tipos de acción a funciones reductoras, en lugar de escribir sentencias switch. Además, utiliza automáticamente la bibliotecaimmerpara que puedas escribir actualizaciones inmutables más simples con código mutativo normal, comostate.todos[3].completed = true. -
createAction(): genera una función creadora de acciones para la cadena de tipo de acción dada. La función misma tiene definidotoString(), por lo que puede usarse en lugar de la constante de tipo. -
createSlice(): acepta un objeto de funciones reductoras, un nombre para el segmento (slice) y un valor de estado inicial, y genera automáticamente un reductor de segmento con los creadores de acciones y tipos de acción correspondientes. -
createAsyncThunk: acepta una cadena de tipo de acción y una función que devuelve una promesa, y genera un thunk que despacha tipos de acciónpending/fulfilled/rejectedbasados en esa promesa. -
createEntityAdapter: genera un conjunto de reductores y selectores reutilizables para gestionar datos normalizados en el store. -
La utilidad
createSelectorde la biblioteca Reselect, reexportada para facilitar su uso.
Redux Toolkit también incluye la API de obtención de datos RTK Query. RTK Query es una herramienta potente para la obtención y caché de datos construida específicamente para Redux. Está diseñada para simplificar los casos comunes de carga de datos en una aplicación web, eliminando la necesidad de escribir manualmente la lógica de obtención y caché de datos.
Documentación
La documentación completa de Redux Toolkit está disponible en https://redux-toolkit.js.org.