Get started with react-dnd CDN
MIT licensed
React-dnd is a popular library for implementing drag-and-drop functionality in React applications.
Tags:- react
- reactjs
- file
- drag
- drop
- html5
- draggable
- droppable
- drag-and-drop
- dnd
- javascript
- react-component
- hoc
Stable version
Copied!
How to start using react-dnd CDN
import React from 'react';
import { DragDropContext, Droppable, Draggable } from 'react-dnd';
const MyComponent = () => {
const [items, setItems] = React.useState([1, 2, 3]);
const moveItem = (source, destination) => {
setItems(prevItems => {
const sourceIndex = prevItems.indexOf(source.item.id);
const destinationIndex = prevItems.indexOf(destination.item.id);
if (sourceIndex < 0 || destinationIndex < 0) return prevItems;
const newItems = [...prevItems];
const item = newItems.splice(sourceIndex, 1)[0];
newItems.splice(destinationIndex, 0, item);
return newItems;
});
};
return (
<DragDropContext onDragEnd={moveItem}>
<Droppable droppableId="droppable">
{(provided, snapshot) => (
<div ref={provided.innerRef} {...provided.droppableProps}>
<h3>Droppable Area</h3>
<div>
{items.map(id => (
<Draggable key={id} draggableId={id.toString()} index={items.indexOf(id)}>
{(provided, snapshot) => (
<div
ref={provided.innerRef}
{...provided.draggableProps}
{...provided.dragHandleProps}
>
{id}
</div>
)}
</Draggable>
))}
{provided.placeholder}
</div>
</div>
)}
</Droppable>
</DragDropContext>
);
};
export default MyComponent;
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!
Copied!