We have created a
free course on egghead.io
๐ฅ to help you get started
with react-beautiful-dnd
as quickly as possible.
<table>
reordering - table pattern<Draggable />
@atlaskit/tree
package<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)react-beautiful-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.
react-beautiful-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
react-beautiful-dnd
offers a powerful, natural and
beautiful drag and drop experience. However, it does not provide the
breadth of functionality offered by react-dnd
. So
react-beautiful-dnd
might not be for you depending on what
your use case is.
The ways in which somebody can start and control a drag
<DragDropContext />
- Wraps the part of your application you want to have drag and drop
enabled for<Droppable />
-
An area that can be dropped into. Contains
<Draggable />
s<Draggable />
-
What can be dragged aroundresetServerContext()
- Utility for server side rendering (SSR)<DragDropContext />
responders - onDragStart
,
onDragUpdate
, onDragEnd
and
onBeforeDragStart
<Draggable />
sinnerRef
draggableId
and droppableId
sdoctype
TypeScript
and
flow
: type information<svg>
sreact-beautiful-dnd
<Draggable />
s during a drag (11.x behaviour) -
โ ๏ธ Advanced<Draggable />
- Using our cloning API or your
own portalAlex Reardon @alexandereardon