For a library for implementing plugin hook systems, the strongest matches are vuejs/composition-api (This library provides a declarative, hook-based system for managing), vuejs/core (Vue provides a comprehensive, TypeScript-supported framework centered on a) and angular/angular (Angular is a comprehensive frontend framework that provides a). alibaba/hooks and sveltejs/svelte round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best plugin hook system libraries for your project. Compare top-rated directive interfaces by activity and features to find the best fit.
This project is a reactivity plugin that brings the Composition API and reactive state management from Vue 3 to Vue 2 applications. It serves as a component logic organizer and a system for encapsulating reactive state and functions into reusable utilities. The plugin enables the use of composable functions to share stateful logic across components without relying on mixins. It provides a structure based on plain variables and functions to facilitate automatic type inference and editor autocomplete. Additionally, it includes a provider-based dependency injection system for sharing data and fu
This library provides a declarative, hook-based system for managing component lifecycle and reactive state, specifically designed to bring modern composition patterns to existing frontend applications.
Vue is a progressive JavaScript framework designed for building modular, reactive user interfaces. It utilizes a component-based architecture that allows developers to encapsulate logic, templates, and styles into reusable units. At its core, the framework employs a virtual DOM renderer and a proxy-based reactivity system to synchronize application state with the document object model efficiently. What distinguishes this framework is its focus on developer experience and flexibility. It supports a single-file component format that colocalizes related concerns, alongside a powerful composition
Vue provides a comprehensive, TypeScript-supported framework centered on a declarative composition API that uses hooks to manage component lifecycle, state synchronization, and side effects.
Angular is a platform for building web applications using a component-based architecture. It provides a comprehensive suite of tools for managing encapsulated UI units, including hierarchical dependency injection, a declarative template system, and fine-grained reactivity through signals. The framework supports complex application requirements such as client-side routing, form management, and internationalization. The project includes a command-line interface for scaffolding and build automation, alongside a testing ecosystem for unit and integration verification. It offers multiple rendering
Angular is a comprehensive frontend framework that provides a declarative, hook-based system for component lifecycle management and state synchronization through its signals and reactive architecture, fully supporting TypeScript.
This library provides a collection of reusable hooks designed to manage state, side effects, and browser interactions within React applications. It functions as a toolkit for handling asynchronous data fetching and complex component logic, offering a set of type-safe utilities that reduce boilerplate code and improve maintainability. The library distinguishes itself through its focus on isomorphic lifecycle synchronization, ensuring consistent behavior across client and server environments to prevent hydration mismatches. It employs ref-based closure stabilization to ensure that asynchronous
This library provides a comprehensive, type-safe collection of declarative hooks for managing component lifecycles, side effects, and state synchronization in React applications.
Svelte is a compile-time user interface framework that transforms declarative component syntax into highly optimized, imperative JavaScript code during the build process. By shifting reconciliation logic from the browser to the build step, it functions as a zero-runtime library that eliminates the need for a heavy framework bundle. This architecture relies on a reactive state management paradigm where data changes trigger surgical updates to the document object model without the use of a virtual representation. The framework distinguishes itself through a reactive dependency tracking system t
Svelte provides a declarative, reactive component model with built-in lifecycle hooks and state synchronization, offering a robust framework for managing component behavior and side effects with full TypeScript support.
Preact is a lightweight declarative user interface library designed for building high-performance web applications. It utilizes a component-based architecture where interfaces are defined as functional or class-based units, relying on a virtual DOM to perform efficient state reconciliation and updates. By prioritizing a minimal footprint, the library enables developers to create modular, predictable, and testable user interfaces while maintaining compatibility with standard browser APIs. The library distinguishes itself through a reactive state engine that leverages signals to track dependenc
Preact provides a declarative, hook-based API for managing component lifecycles and side effects, offering full TypeScript support and a reactive state system that aligns perfectly with your requirements.
Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption
Vue is a comprehensive frontend framework that provides a robust, hook-based Composition API for managing component lifecycles and side effects, fully supporting TypeScript and declarative state synchronization.
This project is a custom implementation of the Model-View-ViewModel pattern designed to replicate the core reactivity and template parsing of the Vue framework. It functions as a data-binding engine, a reactive state manager, and a custom template compiler. The framework employs a system for synchronizing model state with DOM elements through property interception and an observer pattern. It uses a parser to scan DOM elements for directives, replacing placeholders and binding data to view nodes to achieve two-way data synchronization. The system covers reactive data binding and the developme
This project provides a declarative, directive-based system for state synchronization and DOM binding that functions as a framework for managing component-like reactivity, though it lacks a modern hook-based API.
Solid is a declarative JavaScript framework for building user interfaces through fine-grained reactivity. By utilizing a compile-time template transformation process, it converts JSX into direct DOM manipulation instructions, eliminating the need for a virtual tree. This architecture allows the framework to track dependencies at the individual element level, ensuring that state changes trigger surgical updates to the interface. The framework distinguishes itself through its isomorphic rendering pipeline, which shares reactive logic across server and client environments to support both initial
Solid is a declarative frontend framework that provides a robust, hook-based system for managing component lifecycles and side effects through its fine-grained reactive primitives and TypeScript-first architecture.
This project is a declarative framework for building reactive user interfaces by embedding logic directly into HTML markup. It functions as a lightweight state container that tracks data changes and automatically synchronizes the document object model with the underlying application state. By utilizing proxy-based observation, it ensures that interface updates occur precisely when reactive properties are modified. The framework distinguishes itself by allowing developers to define interactive behavior through custom attributes rather than external scripts. This approach enables the compositio
Alpine.js provides a declarative, attribute-based system for managing component state and lifecycle directly in the DOM, offering a lightweight alternative to traditional hook-based frameworks while supporting reactive state synchronization.
React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.
React is the foundational library for declarative, component-based UI development that introduced the hook-based API for managing lifecycle and side effects, fully supporting TypeScript and state synchronization.
This library provides a collection of strongly typed hooks designed to manage asynchronous tasks, component state, and DOM interactions within user interfaces. It serves as a utility toolkit for tracking data changes, caching asynchronous results, and synchronizing references across both server and browser rendering environments. The project distinguishes itself by offering specialized mechanisms for regulating high-frequency user inputs through debouncing and throttling techniques. It simplifies complex browser interactions, such as keyboard shortcuts, clipboard access, and viewport visibili
This library provides a comprehensive suite of TypeScript-based hooks for managing component lifecycle, asynchronous side effects, and state synchronization, fitting the requirements for a declarative hook-based framework.
Stimulus is a JavaScript behavior framework and client-side logic layer used to add interactive behavior to server-rendered HTML. It functions as a system of DOM component controllers that organize JavaScript logic into classes, allowing developers to enhance server-delivered markup without replacing the rendering process with a client-side framework. The framework uses data attributes to bind JavaScript classes to HTML elements and map DOM events to specific methods through document-level event delegation. It employs a lifecycle manager based on mutation observers to automatically instantiat
Stimulus provides a declarative, class-based system for managing component lifecycles and DOM-driven state, serving as a robust framework for attaching behavioral logic to server-rendered HTML.
Yew is a framework for building front-end web applications using Rust and WebAssembly. It provides a component-based architecture that allows developers to create modular, reusable user interface elements that manage their own state and logic. By compiling code into binary modules, the framework enables high-performance execution within modern browser environments. The framework distinguishes itself through a macro-based markup language that transforms declarative, HTML-like syntax into strongly-typed component structures during compilation. It features a robust server-side rendering engine t
Yew is a comprehensive frontend framework that provides a declarative, hook-based API for managing component lifecycles and state, fully supporting TypeScript-like type safety through Rust.
AngularJS is a structural framework for building dynamic web applications by extending standard HTML with custom tags and attributes. It operates as a client-side template engine that transforms declarative markup into interactive components, organizing application logic through a model-view-controller pattern. By utilizing a centralized dependency injection container, the framework manages the lifecycle of services and components to ensure modularity and maintainable architecture. The framework is defined by its two-way data binding mechanism, which automatically synchronizes data models wit
AngularJS provides a declarative, directive-based system for managing component lifecycles and state synchronization, though it relies on a scope-based architecture rather than the modern functional hook-based API found in newer frameworks.
Riot is a component-based library for building user interfaces through modular, single-file components. It functions as a framework for creating reusable elements that combine markup, logic, and scoped styles, which are then compiled into standard JavaScript functions for browser execution. The library distinguishes itself by utilizing direct rendering, which updates the document object model by tracking state changes without the overhead of a virtual representation. It supports server-side rendering and hydration to improve initial page load performance and search engine indexing. Developers
Riot is a component-based framework that provides a declarative approach to building interfaces with built-in support for component lifecycle hooks and state management, fitting the requirements for a frontend component system.
Inferno is a virtual DOM UI library and high-performance DOM renderer used for building component-based user interfaces. It functions as a server-side rendering engine and a client-side framework that synchronizes application state with the visual interface through a declarative structure. The project distinguishes itself as a React-compatible UI framework, providing a compatibility layer that allows components designed for other reactive environments to run without modification. Its capability surface covers virtual DOM management, including node diffing and reconciliation, and a full serve
Inferno is a high-performance UI framework that provides a declarative, component-based architecture with built-in lifecycle hooks and state synchronization, making it a direct fit for managing frontend component lifecycles.
Polymer is a custom element framework and web component library used to build reusable, encapsulated custom elements that function as native browser components. It serves as a system for defining public properties and attributes that trigger automatic state observation and updates within the DOM. The project functions as a data binding library, providing a mechanism to synchronize state between internal component properties and external models via two-way data binding. It covers the development of frontend component libraries and web component architecture, enabling the creation of modular u
Polymer provides a declarative system for managing component properties, state synchronization, and lifecycle observation through its custom element framework, though it relies on class-based definitions rather than a modern functional hook-based API.
Aurelia is a JavaScript web framework and component-based UI system used to build applications for browser, mobile, and desktop environments. It functions as a frontend application orchestrator and data binding library that synchronizes application state with the view to render dynamic content and process user input. The framework implements a component architecture that pairs logic classes with HTML templates to create reusable visual elements. It utilizes a dependency injection container to manage object lifecycles and a modular composition model that aggregates independent functional packa
Aurelia is a comprehensive frontend framework that provides a declarative, class-based component architecture with built-in lifecycle management and state synchronization, though it uses a class-based approach rather than the functional hook-based API common in modern React-like systems.
San is an isomorphic JavaScript framework and single-page application toolkit used for building user interfaces with reusable components. It functions as a reactive UI library that synchronizes application state with the interface through data binding and declarative templates. The framework is distinguished by its support for both server-side HTML generation and client-side hydration to improve initial load performance and search engine optimization. It employs a specialized template-to-array compilation process to compress template structures and reduce network costs. The project provides
San is a component-based UI framework that provides declarative templates and state synchronization, offering a structured approach to managing component lifecycles and logic through its composition-oriented architecture.
Nano Stores is a framework-agnostic state management library that uses a system of small, independent atomic stores to synchronize data across different JavaScript UI frameworks. It provides a reactive state container designed to minimize unnecessary component re-renders by decoupling application state into independent stores. The library features specialized synchronizers for real-time distributed state using WebSockets with conflict-free replicated data types, as well as a browser storage persistor for maintaining state across multiple open tabs. It utilizes adapter-based integration to map
Nano Stores provides a declarative, hook-based system for managing state and side effects across various frontend frameworks, effectively serving as a reactive lifecycle and state synchronization tool.
usehooks-ts is a comprehensive collection of reusable TypeScript-based hooks designed for managing state, DOM events, and browser API interactions within React applications. It provides a typed library of functions to handle common frontend patterns and side effects. The project distinguishes itself by offering specialized hooks for browser integration, including tools for interacting with the system clipboard, managing local and session storage persistence, and loading external scripts. It also includes utilities for responsive UI development, such as tracking media queries, window dimension
This library provides a comprehensive, type-safe collection of reusable hooks that simplify component lifecycle management and side-effect handling in React applications.
This project is a comprehensive library of reusable React hooks designed to simplify browser API integration, state management, and component lifecycle tracking. It provides a declarative interface for managing complex browser interactions, allowing developers to encapsulate imperative logic into modular, composable functions that integrate directly with the component lifecycle. The library distinguishes itself by offering specialized utilities for asynchronous data orchestration, including built-in caching, retry logic, and loading state management. It also features advanced performance opti
This library provides a comprehensive collection of declarative, hook-based utilities for managing component lifecycle, state synchronization, and browser-side effects in React applications.
react-use is a collection of reusable state and effect hooks for managing common logic in React applications. It serves as a comprehensive library for implementing state management patterns and wrapping various browser APIs into consistent hook interfaces. The project provides a specialized toolkit for DOM interaction and browser API integration, allowing components to track element dimensions, manage cookies, and monitor hardware sensors. It includes a suite of animation and timing utilities for physics-based numeric interpolation and frame-synced state updates. Beyond basic state managemen
This library provides a comprehensive collection of declarative, hook-based utilities for managing component lifecycle events and side effects in React, fully supporting TypeScript and state synchronization.
Lit is a library for building lightweight, interoperable web components. It provides a base class that leverages native browser APIs to encapsulate state, logic, and styles, allowing developers to create custom elements that function consistently across any modern web project. The framework distinguishes itself through a reactive property system that automatically triggers efficient, batched DOM updates. By utilizing tagged template literals, it defines declarative UI structures that are compiled into optimized update instructions. Its architecture emphasizes modularity through a reactive con
Lit provides a declarative, reactive system for managing component state and lifecycle through its base class and reactive controllers, which function as a hook-based mechanism for side effects and component logic.
Dioxus is a cross-platform development framework designed for building native desktop, mobile, and web applications from a single codebase. It utilizes a declarative component model and macro-powered syntax to define reusable interface elements, which are then rendered as native widgets or web elements. At its core, the framework employs a signal-based reactivity system that tracks state dependencies to trigger granular updates, ensuring efficient interface performance without re-rendering the entire application tree. The framework distinguishes itself through a unified full-stack runtime tha
Dioxus provides a declarative, hook-based system for managing component lifecycles and side effects using a Rust-based reactivity model that aligns with the requested frontend framework architecture.
React Hook Form is a state management library designed to handle form registration, validation, and submission lifecycle events. By decoupling form control logic from the standard component lifecycle, it enables the creation of performant forms that minimize unnecessary re-renders. The library integrates with external schema validation tools to enforce data integrity and provides a declarative framework for managing complex form structures. The project distinguishes itself through a subscription-based architecture that tracks property access to ensure components only update when the specific
This library provides a declarative, hook-based API specifically for managing the lifecycle and state synchronization of form components in React, fulfilling the core requirements for hook-based frontend state management.
SWR is a data fetching library that provides a collection of hooks for managing remote data synchronization, caching, and state updates in web applications. It employs a declarative approach to handle complex network request lifecycles and dependency chains, ensuring that client-side application state remains consistent with server data through automatic revalidation and background updates. The library distinguishes itself through a reactive cache layer that automatically synchronizes local state with remote sources based on component lifecycle events. It features event-driven revalidation, w
SWR provides a declarative, hook-based system specifically designed to manage the lifecycle of remote data fetching and synchronization, making it a strong fit for managing side effects in frontend components.
Ember.js is a structured JavaScript web framework designed for building scalable web applications. It utilizes a Model-View-Controller architectural pattern and incorporates a component-based UI library, a dependency injection framework, and a client-side routing engine. The framework distinguishes itself through a centralized registry for passing shared services across components and routes, alongside a routing system that maps URLs directly to templates and data models to manage navigation. Its broader capabilities include reactive state synchronization and computation memoization for UI p
Ember.js is a comprehensive web framework that provides a declarative, component-based architecture with robust state synchronization and lifecycle management, though it is a full-stack framework rather than a specialized hook-only library.
Hyperapp is a lightweight JavaScript framework for building web applications. It functions as a declarative state management system that synchronizes the user interface with a centralized application state. The framework utilizes a virtual DOM to render user interfaces and reconcile changes to the browser display. It employs a subscription model to synchronize external web APIs and asynchronous events with the global state. The system manages data through a single-state-tree architecture, where updates are handled via discrete actions and pure functions. This approach ensures that the view u
Hyperapp provides a declarative, hook-like subscription model for managing side effects and state synchronization within a lightweight component architecture, fitting the requirements for a functional frontend framework.
Mithril.js is a JavaScript UI framework designed for building single page applications. It functions as a virtual DOM library and a toolkit for creating dynamic user interfaces that synchronize application state with the browser display. The project integrates a client side router for mapping URLs to specific views and a built-in XHR data fetcher for sending and receiving information from servers. These components allow for navigation and content updates without requiring full page reloads. The framework covers user interface state management and asynchronous data fetching, utilizing virtual
Mithril.js is a comprehensive UI framework that provides a declarative, state-driven approach to component lifecycle management and DOM synchronization, fitting the requirements for a hook-based frontend architecture.
Marko is a component-based web framework and HTML-based template engine used to build reactive user interfaces. It functions as a server-side rendering framework that compiles declarative templates into optimized JavaScript for efficient browser execution. The framework utilizes virtual DOM-less rendering to map template expressions directly to DOM nodes. It employs ahead-of-time template compilation and server-side HTML streaming to send rendered fragments to the client in chunks. The system manages user interfaces through a component-based view hierarchy with reactive data binding and fine
Marko is a component-based framework that provides a declarative, reactive system for managing UI state and component lifecycles, fitting the requirements for a frontend component framework even though it uses a template-based approach rather than a pure hook-based API.
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
This library provides a hook-based API for managing state transitions and persistence in React components, fitting the requirement for a declarative, hook-centric approach to state synchronization.
This library provides a collection of reusable React hooks designed to simplify mobile development by abstracting complex native hardware interactions and system event monitoring. It enables developers to replace imperative platform-specific code with declarative functions that integrate directly into the component lifecycle, facilitating reactive state synchronization and automated resource management. The project distinguishes itself by providing specialized utilities for monitoring mobile-specific device states, such as screen orientation, keyboard visibility, and accessibility preferences
This library provides a collection of hook-based wrappers for React Native APIs, enabling declarative lifecycle and side-effect management within functional components using TypeScript.
Reagent is a framework for building web user interfaces using ClojureScript and React.js. It enables a functional programming approach to declarative UI design, where HTML structures and component hierarchies are defined using vector-based Hiccup syntax instead of JSX. The project differentiates itself through a reactive state management system based on atoms. It tracks which components dereference specific state atoms to trigger automatic re-renders and provides state cursors to isolate updates to specific paths of a larger state atom. It also includes utilities for wrapping native JavaScrip
Reagent provides a declarative, hook-based approach to managing React component lifecycles and state synchronization within the ClojureScript ecosystem, serving as a functional wrapper for React's core lifecycle capabilities.
Custom React hooks for your project.
This library provides a collection of custom React hooks that facilitate component lifecycle management and state synchronization, fitting the requested declarative, hook-based paradigm for frontend development.
A group of useful hooks for react
This library provides a collection of hook-based utilities for React that facilitate component lifecycle management and state synchronization, directly addressing the need for a declarative hook system in frontend development.
| Repository | Stele | Limbaj | Licență | Ultimul push |
|---|---|---|---|---|
| vuejs/composition-api | 4.2K | TypeScript | MIT | |
| vuejs/core | 53.9K | TypeScript | MIT | |
| angular/angular | 100.4K | TypeScript | MIT | |
| alibaba/hooks | 15K | TypeScript | MIT | |
| sveltejs/svelte | 87.3K | JavaScript | MIT | |
| preactjs/preact | 38.7K | JavaScript | MIT | |
| vuejs/vue | 209.9K | TypeScript | MIT | |
| dmq/mvvm | 5.2K | CSS | — | |
| solidjs/solid | 35.6K | TypeScript | MIT | |
| alpinejs/alpine | 31.7K | HTML | MIT |