/react-dnd-touch-backend

Touch Backend for react-dnd

Primary LanguageJavaScriptMIT LicenseMIT

react logo

react-dnd-touch-backend

npm version Dependency Status devDependency Status

Touch Backend for react-dnd

Usage

Follow react-dnd docs to setup your app. Then swap out HTML5Backend for TouchBackend as such:

import { default as TouchBackend } from 'react-dnd-touch-backend';
import { DragDropContext } from 'react-dnd';

var YourApp = React.createClass(
  /* ... */
);

module.exports = DragDropContext(TouchBackend)(YourApp);

Tips

Drag Preview

Since native Drag-n-Drop is not currently supported in touch devices. A custom DragPreview is required. Check out the example for a sample implementation.

We might try to build it directly in the Backend itself in the future to compensate for this limitation.

Mouse events support

You can enable capturing mouse events by configuring your TouchBackend as follows:

DragDropContext(TouchBackend({ enableMouseEvents: true }));

Examples

The examples folder has a sample integration. In order to build it, run:

npm i && gulp example

Then, open examples/index.html in a mobile browser.

Code licensed under the MIT license. See LICENSE file for terms.