react-dragster
TypeScript icon, indicating that this package has built-in type declarations

1.1.5 • Public • Published

useDragster

useDragster is a React hook designed to simplify drag and drop event handling by providing easy-to-use abstractions for drag enter, drag leave, and drop events. It also addresses common browser bugs related to these events, ensuring a smooth and reliable user experience.

Installation

npm install react-dragster

Usage

Importing:

import useDragster from 'react-dragster';

Example:

import React from 'react';
import useDragster from 'use-dragster';

const YourComponent = () => {

  // Initialize the useDragster hook
  const watcherRef = useDragster({
    dragsterEnter: () => console.log('Drag entered!'),
    dragsterLeave: () => console.log('Drag left!'),
    dragsterDrop: () => console.log('Item dropped!'),
    options: {
      preventDefault:false,
      stopPropagation: false
    }
  });

  return (
      {/* Apply the ref to the element you want to monitor for drag leave, enter, and drop events */}
      <div ref={watcherRef} onDragOver={...} >
        {/* your draggable will trigger the events, properly*/}
        <div draggable/>
      </div>
  );
};

export default YourComponent;

API:

useDragster(props: DragsterProps): watcherRef: React.MutableRefObject<any>

DragsterProps:

  • dragsterEnter?: (e: React.DragEvent) => any: Function to be called on drag enter event.
  • dragsterLeave?: (e: React.DragEvent) => any: Function to be called on drag leave event.
  • dragsterDrop?: (e: React.DragEvent) => any: Function to be called on drop event.
  • options?: {preventDefault?:boolean, stopPropagation?:boolean}: Options to change the hook behavior. Default: {preventDefault:true, stopPropagation:true}.

If you want more options added for this hook, please open an issue. Thanks!

Contributing

We welcome contributions! If you find any issues or have suggestions, feel free to open an issue or create a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Package Sidebar

Install

npm i react-dragster

Weekly Downloads

1

Version

1.1.5

License

MIT

Unpacked Size

8.97 kB

Total Files

7

Last publish

Collaborators

  • blakletter