This library contains some very basic draggable and droppable components.
You probably want to use something more stable and feature rich like react-dnd.
npm install react-drag-and-drop
import { Draggable, Droppable } from 'react-drag-and-drop'
class App extends React.Component {
render() {
return(
<div>
<ul>
<Draggable type="fruit" data="banana"><li>Banana</li></Draggable>
<Draggable type="fruit" data="apple"><li>Apple</li></Draggable>
<Draggable type="metal" data="silver"><li>Silver</li></Draggable>
</ul>
<Droppable
types={['fruit']} // <= allowed drop types
onDrop={this.onDrop.bind(this)}>
<ul className="Smoothie"></ul>
</Droppable>
</div>
)
}
onDrop(data) {
console.log(data)
// => banana
}
}
So the idea is that you wrap your components in Draggable and Droppable containers (instead of using mixins), define types and data to carry. You can also hook into the different drag events to create more funk. The best way (for now) to figure out how is to peak inside the src
directory. The implementation is quite minimal.
- Support for React 16
- Updated most dev deps to latest
- Support for
wrapperComponent
prop where one can pass a component to be used instead of the standard components forDraggable
andDroppable
🎉 Thanks to @aaa707 for this one 🚀
- Support for
enabled
prop for Droppable component
- Droppable now accepts
className
as prop - thanks @abdennour 🎉
- Support for React 15
- Support for enable prop in Draggable component
- Did a build (forgot for 2.0.0 release) 🤦
- Updated to remove warning for React v0.14
- Spreading this.props on both Draggable and Droppable
- Added FireFox support (DOMStringList -> Array)
- Initial release 🎉
enjoy