@hello-pangea/dnd is a powerful and flexible drag-and-drop library for React. It allows developers to create complex drag-and-drop interfaces with ease, supporting features like reordering lists, moving items between lists, and more.
What are @hello-pangea/dnd's main functionalities?
Reordering a List
This code demonstrates how to reorder items in a list using @hello-pangea/dnd. It sets up a drag-and-drop context, defines a reorder function, and handles the drag end event to update the state with the reordered items.
This code demonstrates how to move items between two lists using @hello-pangea/dnd. It sets up a drag-and-drop context, defines a move function, and handles the drag end event to update the state with the moved items.
react-beautiful-dnd is a popular drag-and-drop library for React, created by Atlassian. It offers a similar API and functionality to @hello-pangea/dnd, including reordering lists and moving items between lists. However, @hello-pangea/dnd is a fork of react-beautiful-dnd and may include additional features or improvements.
react-dnd is a flexible drag-and-drop library for React, built on top of the HTML5 drag-and-drop API. It provides a more customizable and lower-level API compared to @hello-pangea/dnd, making it suitable for more complex drag-and-drop interactions. However, it requires more setup and boilerplate code.
dnd-kit is a modern drag-and-drop toolkit for React. It offers a highly customizable and extensible API, with support for advanced features like multi-drag and nested drag-and-drop. Compared to @hello-pangea/dnd, dnd-kit provides more flexibility and control over the drag-and-drop interactions, but may require more effort to implement.
@hello-pangea/dnd
Beautiful and accessible drag and drop for lists with React
Incredible screen reader support โฟ๏ธ - we provide an amazing experience for english screen readers out of the box ๐ฆ. We also provide complete customisation control and internationalisation support for those who need it ๐
A <Droppable /> list can be a scroll container (without a scrollable parent) or be the child of a scroll container (that also does not have a scrollable parent)
Independent nested lists - a list can be a child of another list, but you cannot drag items from the parent list into a child list
@hello-pangea/dnd exists to create beautiful drag and drop for lists that anyone can use - even people who cannot see. For a good overview of the history and motivations of the project you can take a look at these external resources:
There are a lot of libraries out there that allow for drag and drop interactions within React. Most notable of these is the amazing react-dnd. It does an incredible job at providing a great set of drag and drop primitives which work especially well with the wildly inconsistent html5 drag and drop feature. @hello-pangea/dnd is a higher level abstraction specifically built for lists (vertical, horizontal, movement between lists, nested lists and so on). Within that subset of functionality @hello-pangea/dnd offers a powerful, natural and beautiful drag and drop experience. However, it does not provide the breadth of functionality offered by react-dnd. One shortcoming is that grid layouts are not supported (yet). So @hello-pangea/dnd might not be for you depending on what your use case is.
Beautiful and accessible drag and drop for lists with React
The npm package @hello-pangea/dnd receives a total of 911,663 weekly downloads. As such, @hello-pangea/dnd popularity was classified as popular.
We found that @hello-pangea/dnd demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.ย It has 2 open source maintainers collaborating on the project.
Package last updated on 09 Feb 2025
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.
By Lauren Valencia, Kirill Boychenkoย - ย Sep 17, 2025
Socket detected multiple compromised CrowdStrike npm packages, continuing the "Shai-Hulud" supply chain attack that has now impacted nearly 500 packages.
By Kush Pandya, Peter van der Zee, Olivia Brown, Socket Research Teamย - ย Sep 16, 2025