awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
react-grid-layout avatar

react-grid-layout/react-draggable

0
View on GitHub↗
9,292 星标·1,051 分支·JavaScript·MIT·5 次浏览

React Draggable

react-draggable is a drag and drop library and coordinate-based position manager for React. It functions as a component wrapper that adds draggable behavior to user interface elements, enabling them to be moved via mouse or touch interactions.

The library provides touch-enabled interaction tools that unify pointer events across desktop browsers and touch screen devices. It utilizes CSS transforms to handle element movement and coordinate tracking.

The system covers movement constraints such as axis restriction and boundary clamping to confine elements within specific areas. It includes positioning utilities for grid snapping, controlled state synchronization, and initial coordinate configuration, alongside event callbacks for tracking drag operations.

Features

  • Drag and Drop - Provides a comprehensive set of tools for implementing drag-and-drop interactions in React applications.
  • Draggable and Resizable React Components - Functions as a wrapper that injects draggable behavior into any React component.
  • Positioning Transforms - Uses CSS translate transforms to move elements efficiently without triggering expensive browser reflows.
  • Transform-Based Displacement - Moves elements using translate transforms to avoid reflows while maintaining a decoupled state of the original position.
  • Coordinate-Based Positioning - Manages the spatial positioning of elements using a coordinate system with snapping and boundaries.
  • Drag and Drop Libraries - Offers a specialized library for adding draggable functionality to React UI elements.
  • Draggable Axis Configurations - Allows restricting draggable elements to specific axes and defining snapping behavior.
  • Element Positioning - Provides utilities for setting and updating the coordinate location of visual components using controlled state.
  • Drag Boundary Constraints - Implements settings to restrict the movement of draggable elements within specific containers or coordinate areas.
  • Draggable Layout Elements - Creates UI components that can be repositioned by the user through drag-and-drop interactions.
  • Pointer Event Abstractions - Unifies mouse and touch input streams into a single event handler for cross-device compatibility.
  • Pointer Offset Tracking - Implements the core coordinate tracking logic needed to translate mouse or touch movement into element displacement.
  • Draggable Touch Inputs - Provides unified pointer event handling to enable dragging via touch screen devices and multi-touch inputs.
  • Boundary Constraints - Confines draggable elements to a specific area such as a parent container or viewport.
  • Drag Lifecycle Events - Triggers lifecycle events that allow developers to implement custom positioning logic based on drag state.
  • Prop-Driven State Synchronization - Allows the element's position to be managed by an external React state passed via props.
  • Initial Coordinate Configuration - Defines the starting coordinates of a draggable element using fixed values or percentage offsets.
  • Movement Constraints - Limits element movement to specific axes or confines it within parent boundaries.
  • Drag Event Callbacks - Provides configuration hooks to execute custom logic at specific stages of a drag operation.
  • Reference Point Customization - Allows defining an ancestor element as the reference point for calculating movement offsets.
  • Interactive UI Components - Enables the creation of interfaces where elements can be freely repositioned via user interaction.
  • Free-Form Movement - Allows users to move interface elements freely in any direction via mouse or touch.
  • Movement Boundary Constraints - Provides the ability to confine draggable elements within a parent container or the window boundaries.
  • Grid Snapping - Enables draggable elements to snap to a defined grid for precise alignment.
  • Touch Gesture Libraries - Provides a set of tools that abstract raw touch inputs into recognizable drag-and-drop gestures.
  • Touch-Optimized Interfaces - Ensures a fluid dragging experience optimized for touch-enabled devices and tablets.

Star 历史

react-grid-layout/react-draggable 的 Star 历史图表react-grid-layout/react-draggable 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

react-grid-layout/react-draggable 是做什么的?

react-draggable is a drag and drop library and coordinate-based position manager for React. It functions as a component wrapper that adds draggable behavior to user interface elements, enabling them to be moved via mouse or touch interactions.

react-grid-layout/react-draggable 的主要功能有哪些?

react-grid-layout/react-draggable 的主要功能包括:Drag and Drop, Draggable and Resizable React Components, Positioning Transforms, Transform-Based Displacement, Coordinate-Based Positioning, Drag and Drop Libraries, Draggable Axis Configurations, Element Positioning。

react-grid-layout/react-draggable 有哪些开源替代品?

react-grid-layout/react-draggable 的开源替代品包括: desandro/draggabilly — Draggabilly is a JavaScript drag and drop library used to make DOM elements draggable on desktop and mobile. It serves… mzabriskie/react-draggable — react-draggable is a UI interaction library that provides core primitives and components for adding tactile movement… taye/interact.js — interact.js is a JavaScript interaction library used to implement drag and drop, resizing, and multi-touch gestures… gridstack/gridstack.js — gridstack.js is a JavaScript grid layout library and responsive dashboard framework used to create interactive… bokuweb/react-rnd — react-rnd is a JavaScript UI interaction library and React component used to create elements that are both draggable… shopify/draggable — Draggable is a JavaScript library for implementing draggable elements and sortable lists within a web browser. It…

React Draggable 的开源替代方案

相似的开源项目,按与 React Draggable 的功能重合度排序。
  • desandro/draggabillydesandro 的头像

    desandro/draggabilly

    3,871在 GitHub 上查看↗

    Draggabilly is a JavaScript drag and drop library used to make DOM elements draggable on desktop and mobile. It serves as a coordinate-based UI tool and interaction library for tracking and setting the horizontal and vertical positions of interface elements during user interaction. The library provides a mobile-ready touch handler that converts mouse and touch movements into element translation. It includes specialized capabilities for restricting movement to specific axes or container boundaries and implements grid snapping to align elements to a predefined pixel grid. The tool manages the

    JavaScript
    在 GitHub 上查看↗3,871
  • mzabriskie/react-draggablemzabriskie 的头像

    mzabriskie/react-draggable

    9,289在 GitHub 上查看↗

    react-draggable is a UI interaction library that provides core primitives and components for adding tactile movement and coordinate-based positioning to web elements. It serves as a tool for making user interface elements movable via mouse or touch interactions within React applications. The library supports the implementation of custom drag handles, allowing the initiation of movement to be restricted to specific child elements identified by CSS selectors. It also provides programmatic drag state management, enabling developers to control element positioning or use callbacks for movement wit

    JavaScript
    在 GitHub 上查看↗9,289
  • taye/interact.jstaye 的头像

    taye/interact.js

    12,913在 GitHub 上查看↗

    interact.js is a JavaScript interaction library used to implement drag and drop, resizing, and multi-touch gestures within web browsers. It provides a specialized interaction framework for scalable vector graphics, allowing these elements to be moved and resized. The library features a multi-touch gesture engine that recognizes complex patterns such as pinch and rotate, and a coordinate snapping engine for aligning elements to grids or restricting movement within boundaries. It also includes a cross-frame state synchronizer to share interaction states and input events across multiple browser

    TypeScript
    在 GitHub 上查看↗12,913
  • gridstack/gridstack.jsgridstack 的头像

    gridstack/gridstack.js

    8,972在 GitHub 上查看↗

    gridstack.js is a JavaScript grid layout library and responsive dashboard framework used to create interactive interfaces with draggable and resizable elements. It functions as a drag-and-drop layout manager and a JSON-serializable layout engine, allowing user-defined interface states to be persisted and restored. The library distinguishes itself through a touch-enabled grid interface and a responsive system that automatically adjusts item placement based on screen breakpoints. It features a collision-based layout engine that manages overlapping coordinates to shift or swap elements, alongsid

    TypeScriptangulardashboardgrid
    在 GitHub 上查看↗8,972
查看 React Draggable 的所有 30 个替代方案→