1.6.2 • Published 3 years ago
@felipecsl/react-native-confetti-cannon v1.6.2
Live demo
:rocket: Try yourself on Storybook web version
Installation
npm install react-native-confetti-cannon
# or
yarn add react-native-confetti-cannonUsage
import ConfettiCannon from 'react-native-confetti-cannon';
const MyComponent = () => (
  <ConfettiCannon count={200} origin={{x: -10, y: 0}} />
);Props
| Name | Type | Description | Required | Default | 
|---|---|---|---|---|
| count | number | items count to display | required | |
| origin | {x: number, y: number} | animation position origin | required | |
| explosionSpeed | number | explosion duration (ms) from origin to top | 350 | |
| fallSpeed | number | fall duration (ms) from top to bottom | 3000 | |
| fadeOut | boolean | make the confettis disappear at the end | false | |
| colors | string[] | give your own colors to the confettis | default colors | |
| autoStart | boolean | auto start the animation | true | |
| autoStartDelay | number | delay to wait before triggering animation | 0 | 
Events
| Name | Returns | Description | Required | 
|---|---|---|---|
| onAnimationStart | void | callback triggered at animation start | |
| onAnimationResume | void | callback triggered at animation resume | |
| onAnimationStop | void | callback triggered at animation stop | |
| onAnimationEnd | void | callback triggered at animation end | 
Methods
| Name | Returns | Description | Required | 
|---|---|---|---|
| start | void | start the animation programmatically | |
| resume | void | resume the animation programmatically | |
| stop | void | stop the animation programmatically | 
For example:
import ConfettiCannon from 'react-native-confetti-cannon';
class MyComponent extends React.PureComponent {
  explosion;
  handleSomeKindOfEvent = () => {
    this.explosion && this.explosion.start();
  };
  render() {
    return (
      <ConfettiCannon
        count={200}
        origin={{x: -10, y: 0}}
        autoStart={false}
        ref={ref => (this.explosion = ref)}
      />
    );
  }
}Examples
Deep into the example folder to see the stories and run:
npm install && npm startAnd choose one of the following Expo commands:
i: open in iOS simulatora: open in Android emulatorw: open in web browser
:warning: Warning
It is strongly recommended to use 1.2.0 or higher to avoid this warning introduced in React-Native 0.62:
Animated: useNativeDriver was not specified. This is a required option and must be explicitly set to true or false