1.2.0 • Published 8 months ago

react-native-flying-objects v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

react-native-flying-objects

DESCRIPTION

flying objects package for react native

this library based on Animated.View and Easing

INSTALLATION

npm install --save react-native-flying-objects

HOW TO USE

import react-native-flying-objects.

import { FlyingView } from 'react-native-flying-objects';

add properties for modify FlyingView.

  • manage state for flying objects

    const [object, setObject] = useState<ObjectConfig[]>([]);
    // manage every rendering objects
  • when you want to add object just add more state

    setObject((prev) => [...prev, { object: <Text>hello</Text> }]);
    // the new object added
    // text "hello" will be the object that flying
  • add FlyingView where you want to use.

    return (
      <FlyingView
        object={object}
        containerProps={{ style: { borderWidth: 2, borderColor: 'black' } }}
      />
    );
  • result

    demo

    Demo code in my github

PROPERTIES

FlyIngView

PropertyrequiredTypeDescriptionDefaultValue
objecttrueObjectConfiglist of objects managed by container.undefined
containerPropsfalseReact-native.ViewPropsProps for the container in which the object floats.{pointerEvents:"none",style={{width:50,height:120}}}

ObjectConfig

PropertyrequiredTypeDescriptionDefaultValue
objecttrueReact.ReactNodethe object that flies on FlyingView-
rightfalseAnimatedPositionanimated value for position right of object on container{fromValue: 0,toValue: 0,duration: 1200, delay: 0,}
topfalseAnimatedPositionanimated value for position top of object on container{fromValue: 100,toValue: 35,duration: 1200,easing: Easing.bezier(0.5, 1.0, 0.5, 1.0),delay: 0,}
showfalseAnimatedOpacityanimated opacity value when object appears{duration: 500,delay: 0,}
hidefalseAnimatedOpacityanimated opacity value when object disappears{duration: 500,delay: 0,}

TYPES

types for use FlyingView

interface AnimatedPosition {
  fromValue?: number;
  toValue?: number;
  duration?: number;
  easing?: ((value: number) => number) | undefined;
  delay?: number;
}

interface AnimatedOpacity {
  duration?: number;
  easing?: ((value: number) => number) | undefined;
  delay?: number;
}

interface ObjectConfig {
  object: React.ReactNode;
  right?: AnimatedPosition;
  top?: AnimatedPosition;
  show?: AnimatedOpacity;
  hide?: AnimatedOpacity;
}

// easing from react-native

REFERENCE DOCUMENTS

React Native
1.2.0

8 months ago

1.1.9

8 months ago

1.1.8

8 months ago

1.1.7

8 months ago

1.1.6

8 months ago

1.1.5

8 months ago

1.1.4

8 months ago

1.1.3

8 months ago

1.1.2

8 months ago

1.1.1

8 months ago

1.1.0

8 months ago

1.0.9

8 months ago

1.0.8

8 months ago

1.0.7

8 months ago

1.0.6

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

8 months ago