14 repositorios
Tools and patterns for managing the internal and global state of React applications.
Distinct from React State Bindings: More general than specific bindings or primitives, covering the overall approach to state updates in React.
Explore 14 awesome GitHub repositories matching web development · React State Management. Refine with filters or upvote what's useful.
Braft Editor es un editor de texto enriquecido basado en React construido sobre Draft.js que proporciona un framework para la creación y el formato de contenido. Funciona como un componente de interfaz de usuario reutilizable que permite a los usuarios redactar documentos formateados en una interfaz WYSIWYG y exportar el contenido resultante como cadenas HTML. El proyecto cuenta con soporte de localización integrado para múltiples idiomas, incluyendo chino, japonés y coreano. Proporciona un sistema modular para extender la funcionalidad del editor a través de plugins, mapeos de barra de herramientas personalizados y entidades multimedia especializadas. El editor cubre una amplia gama de capacidades de contenido, incluyendo formato de texto enriquecido, estilo de párrafos y bloques, y la organización de listas anidadas. Admite la incrustación de contenido multimedia como imágenes, audio, video y bloques de código formateados. El estado del documento se gestiona a través de un patrón de componente controlado, permitiendo la sincronización entre el editor y el estado de la aplicación.
Implements a controlled component pattern to synchronize document state with the application state.
use-immer es una librería de hooks de React que proporciona un hook de estado inmutable para actualizar objetos de estado complejos. Integra la gestión de estado de Immer en el ciclo de vida de los componentes de React, permitiendo a los desarrolladores manejar las transiciones de estado modificando un objeto borrador (draft) en lugar de copiar manualmente el estado. La librería permite la actualización de estructuras de datos profundamente anidadas sin el uso de operadores de propagación para copiar cada nivel del árbol de estado. Utiliza un enfoque de borrador basado en mutaciones para asegurar que el estado original permanezca intacto mientras se produce una nueva versión inmutable de los datos. El proyecto cubre la gestión general de estados en React, incluyendo la capacidad de gestionar estados con reducers y manejar transiciones de estado complejas.
Simplifies the management of complex internal and global state in React applications using mutable drafts.
use-immer es una utilidad de gestión de estado de React que proporciona un hook personalizado para actualizar estados inmutables. Permite la modificación de una versión de borrador (draft) temporal de los datos para calcular la siguiente transición de estado. La herramienta simplifica la gestión de estados complejos al permitir mutaciones directas en un borrador, lo que elimina la necesidad de copiar manualmente objetos o arrays anidados utilizando operadores de propagación (spread operators). Este enfoque asegura la generación de una nueva instantánea inmutable para cambios de estado predecibles. La librería cubre capacidades para actualizar estados profundamente anidados y admite el procesamiento de cambios de estado a través de reducers.
Provides a way to update complex React state without repetitive nested spread operators.
Este proyecto es un recurso de aprendizaje de React que consiste en archivos de inicio y proyectos de referencia. Proporciona una colección de plantillas de proyectos de React full stack y ejemplos de librerías de componentes para demostrar la construcción de interfaces de usuario interactivas y aplicaciones de una sola página. El recurso incluye una guía de gestión de estado que cubre el uso de hooks, reducers y context providers. Cuenta con implementaciones prácticas para gestionar el estado local de los componentes, sincronizar datos globales de la aplicación y manejar transiciones de estado complejas. El material cubre el desarrollo web full stack, incluyendo el renderizado del lado del servidor y el uso de acciones de servidor para el manejo de formularios. También aborda el enrutamiento del lado del cliente, la composición modular de UI y la integración de aplicaciones frontend con bases de datos externas y servicios de autenticación.
Implements tools and patterns for managing both internal and global state within React applications.
react-basic proporciona una implementación conceptual del modelo de React, centrándose en una arquitectura de interfaz de usuario basada en componentes. Emplea funciones puras para transformar datos crudos en representaciones estructurales de interfaz y utiliza un sistema declarativo para gestionar el estado de la UI y la distribución jerárquica de datos. El proyecto se distingue por estrategias de caché especializadas, incluyendo caché de resultados basada en árboles que almacena valores según la posición estructural de los elementos. También cuenta con un mecanismo para la ejecución diferida de funciones para eliminar boilerplate de las rutas de negocio y soporta el aislamiento de proyecciones de estado, como posiciones de scroll y foco de entrada, de la lógica de negocio central. La librería cubre capacidades más amplias en la composición de interfaces modulares, permitiendo la creación de abstracciones de componentes reutilizables. Incluye herramientas para la transferencia profunda de datos a través de capas anidadas y gestión de estado diseñada específicamente para asociar valores únicos con elementos de lista individuales.
Handles data flow and synchronization across the component tree using a conceptual React-like state model.
Este proyecto es una biblioteca de interacción de interfaz de usuario de React y un gestor de geometría de componentes. Proporciona un conjunto de herramientas para crear elementos dentro de una aplicación React que los usuarios pueden mover y redimensionar. La biblioteca permite la personalización de los manejadores de interacción, permitiendo la aplicación de componentes, estilos o clases CSS personalizados a los manejadores de redimensionamiento para coincidir con diseños visuales específicos. El sistema cubre la manipulación de elementos tanto a través de la interacción directa del usuario como de actualizaciones de geometría programáticas. Incluye capacidades para ajuste a cuadrícula (grid snapping), restricciones de límites y relaciones de aspecto bloqueadas para controlar la posición y el tamaño de los componentes de la interfaz de usuario.
Triggers component re-renders by updating position and size properties within the internal React state tree.
unstated-next es una biblioteca de gestión de estado ligera para React que comparte estado y lógica entre componentes. Funciona como una herramienta para transformar hooks personalizados en contenedores de estado compartidos, proporcionando un enfoque minimalista para sincronizar datos sin el uso de almacenes de estado externos complejos. El proyecto utiliza un patrón proveedor-consumidor para desacoplar la definición del estado de su uso. Envuelve hooks personalizados en contenedores de contexto para reducir el código repetitivo (boilerplate) manual, permitiendo que el estado y los métodos se transmitan desde un proveedor central a componentes hijos profundamente anidados. El sistema admite la composición de contenedores de estado, permitiendo la creación de lógica de estado compleja mediante el anidamiento de múltiples unidades enfocadas. Aprovecha la API de Contexto de React para manejar la sincronización del estado de la aplicación y activar renderizados automáticos cuando ocurren cambios de estado.
Implements a lightweight state management system for sharing and synchronizing data across React component trees.
Constate es una herramienta de gestión de estado global para React diseñada para minimizar los re-renders innecesarios de componentes. Funciona como un gestor de estado y herramienta de optimización que utiliza contextos especializados para organizar datos compartidos a través de un árbol de componentes. La biblioteca se distingue por un patrón de proveedor de división de estado (state-slicing), que divide el estado global en múltiples contextos para aislar las dependencias de datos. Incluye un sistema de selector de estado que permite a los componentes extraer porciones específicas del estado global, asegurando que las actualizaciones de la interfaz solo ocurran cuando cambian las dependencias de datos seleccionadas. El proyecto cubre capacidades más amplias en optimización de rendimiento y selección de estado. Proporciona una interfaz simplificada para crear proveedores de datos centrales y utilizar hooks para recuperar estado derivado.
Offers a comprehensive system for managing global state in React to minimize unnecessary component re-renders.
This project is an interactive learning platform designed for mastering component-based user interface patterns and state management using the React library. It functions as a frontend development tutorial and course, providing a guided environment for learning declarative rendering and virtual DOM concepts. The platform distinguishes itself through a live-reload coding environment and a split-view interface for real-time code validation. These tools allow learners to compare their live code output against target solutions and use guided source-code markers to identify required edits and crit
Provides practical exercises for managing data flow and component updates using React state management patterns.
This project is a collection of architectural guidelines and design patterns for building applications with the React library. It provides a framework for organizing frontend architecture, component design standards, and state management strategies to reduce technical debt and complexity. The guide emphasizes a modular approach to component design, focusing on the separation of business logic from the user interface and the use of primitive props to ensure single responsibility. It advocates for a testing philosophy centered on user behavior and integration outcomes rather than internal imple
Provides strategies for managing React state by eliminating redundancy and utilizing colocation.
Este repositorio sirve como una base de conocimientos integral y guía de estudio para desarrolladores que se preparan para evaluaciones técnicas y entrevistas enfocadas en React. Proporciona una colección estructurada de consultas y respuestas comunes de la industria diseñadas para desarrollar competencia en los conceptos y patrones centrales requeridos para el desarrollo moderno de interfaces web. El recurso cubre los pilares fundamentales de la librería, incluyendo arquitectura basada en componentes, renderizado declarativo y flujo de datos unidireccional. Detalla patrones esenciales para gestionar el estado de la aplicación tanto local como global, así como técnicas para optimizar el rendimiento mediante memoización y ciclos de renderizado eficientes. Más allá de la lógica central, el material aborda capacidades de desarrollo más amplias como pruebas de componentes, internacionalización y enrutamiento. Ofrece ideas sobre cómo estructurar interfaces modulares, manejar la sincronización de datos e implementar estilos dentro de un entorno impulsado por componentes.
Covers patterns for managing local component state and centralized global stores to ensure predictable data flow.
Little State Machine is a lightweight state management library for React applications that provides a centralized data store for managing shared application information. It utilizes a context-based provider pattern to distribute state across the component tree, ensuring consistent data access without the need for manual property drilling. The library distinguishes itself through built-in support for automatic browser storage persistence, which synchronizes the in-memory state with local or session storage to maintain data continuity across page refreshes. It also incorporates middleware-drive
Manages shared application data across React component trees with consistent access and update patterns.
Esta librería proporciona un componente de React para renderizar estructuras de datos jerárquicas interactivas. Está diseñada para visualizar información anidada mediante composición recursiva, permitiendo a los usuarios navegar por jerarquías de datos profundas expandiendo y colapsando ramas. El componente se distingue por integrar funcionalidad de arrastrar y soltar (drag-and-drop), permitiendo a los usuarios reorganizar nodos directamente dentro de la interfaz. También soporta carga de datos asíncrona, que obtiene ramas hijas bajo demanda para gestionar datasets remotos o profundos de manera eficiente. La librería incluye optimizaciones de rendimiento para grandes datasets utilizando scroll virtual para renderizar solo los nodos visibles en el viewport. Ofrece una gestión de estado flexible, permitiendo a los desarrolladores controlar la selección de nodos, expansión y estado de casillas de verificación (checkbox) a través de lógica de componente interna o sistemas de estado de aplicación externos.
Synchronizes internal node state with external application state to allow flexible control over expansion and selection.
This project provides a React component wrapper for a block-based rich text editor. It enables the integration of a structured content editing environment into React applications, organizing document data into modular, independent blocks for flexible manipulation and storage. The component manages the editor instance lifecycle and facilitates state synchronization, allowing developers to use either controlled or uncontrolled data patterns. It supports extensibility through the registration of external plugins, enabling the addition of specialized formatting tools, media handling, and custom b
Synchronizes internal editor state with external application state through property bindings and event interception.