0.1.6 • Published 5 years ago

@jgoday/react-native-dragndrop v0.1.6

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

react-native-dragndrop

Screenshots

screenshot

Getting started

$ npm install react-native-dragndrop --save

Usage

import * as React from 'react';
import { View, Text } from 'react-native';
import { DragAndDropProvider, Draggable, DropView } from 'react-native-dragndrop';

export interface IProps {}
export default function Sample(props: IProps) {
    const [ numbers, setNumbers ] = React.useState<number[]>([1, 2, 3, 4]);
    const [ currentStyle, setCurrentStyle ] = React.useState<any>({});

    const onDrop = (currentNumber: number, selectedNumber: number) => {
        if (currentNumber == selectedNumber) {
            setCurrentStyle(styles.successMatch);
        }
        else {
            setCurrentStyle(styles.failureMatch);
        }
    }

    return (<View style={styles.container}>
        <DragAndDropProvider>
            {numbers.map((w, i) => <DropView key={i}
                onDrop={n => onDrop(n, w)}>
                <Text>{w}</Text>
            </DropView>)}

            <Draggable data={2}>
                <Text style={currentStyle}>2</Text>
            </Draggable>
        </DragAndDropProvider>
    </View>);
}

Implementation

DragAndDropProvider

Makes the use of Draggable and DropView available to any nested components.

DropView

Wrapper to receive a drop event over an existing component.

Props

PropTypeOptionalDefaultDescription
onDropFunctionYesCalled when a drop event is generated over the component. It receives the Draggable data property.
styleanyYesAdditional style to the DropView wrapper component.
highlightboolYesShould the component react to a drag over event.
highlightStyleanyYesAdditional style when a drag event is over the component.

Draggable

Wrapper to convert a component into a draggable view. It can optionally hold a data prop that will be passed to the drop event.

Props

PropTypeOptionalDefaultDescription
dataanyYesAdditional data that will be passed to the drop event.
styleanyYesAdditional style to the Draggable wrapper Component.
onMoveFunctionYesCalled when the draggable view is moved. It passes the pageX and pageY coordinates.
0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago