Installation
To get started with @dnd-kit, install the core library via
npm
or yarn
: npm install @dnd-kit/core
You'll also need to be make sure you have peer dependencies installed. Chances are you already have
react
and react-dom
installed in your project, but if not, make sure to install them:npm install react react-dom
@dnd-kit is a monorepo. Depending on your needs, you may also want to install other sub-packages that are available under the
@dnd-kit
namespace.In order to keep the core of the library small,
@dnd-kit/core
only ships with the main building blocks that the majority of users will need most of the time for building drag and drop experiences:Modifiers let you dynamically modify the movement coordinates that are detected by sensors. They can be used for a wide range of use cases, for example:
- Restricting motion to a single axis
- Restricting motion to the draggable node container's bounding rectangle
- Restricting motion to the draggable node's scroll container bounding rectangle
- Applying resistance or clamping the motion
The modifiers repository contains a number of useful modifiers that can be applied on
DndContext
as well as DraggableClone
.To start using modifiers, install the modifiers package via yarn or npm:
npm install @dnd-kit/modifiers
The
@dnd-kit/core
package provides all the building blocks you would need to build a sortable interface from scratch should you choose to, but thankfully you don't need to. If you plan on building a sortable interface, we highly recommend you try out
@dnd-kit/sortable
, which is a small layer built on top of @dnd-kit/core
and optimized for building silky smooth, flexible, and accessible sortable interfaces.npm install @dnd-kit/sortable
Each commit merged into the @dnd-kit main branch will trigger a development build to be released to npm under the
next
tag.To try a development release before the official release, install each @dnd-kit package you intend to use with the
@next
tagnpm install @dnd-kit/core@next @dnd-kit/sortable@next
Development releases can be unstable, we recommend you lock to a specific development release if you intend to use them in production.
Last modified 1yr ago