React-Particle-Backgrounds
Simple and customisable animated particle backgrounds for React
Demo
https://mcbp.github.io/React-Particle-Backgrounds-Demo
Install
npm install --save react-particle-backgrounds
Basic Example
The <ParticleBackground />
component takes only one prop: settings
.
It is defined as an object with specific shape, this is detailed below in the example code.
import React from 'react'
import ParticleBackground from 'react-particle-backgrounds'
const App = () => {
const settings = {
canvas: {
canvasFillSpace: true,
width: 200,
height: 200,
useBouncyWalls: false
},
particle: {
particleCount: 50,
color: '#94ecbe',
minSize: 2,
maxSize: 5
},
velocity: {
directionAngle: 0,
directionAngleVariance: 360,
minSpeed: 1,
maxSpeed: 3
},
opacity: {
minOpacity: 0,
maxOpacity: 0.5,
opacityTransitionTime: 3000
}
}
return <ParticleBackground settings={settings} />
}
export default App
Prop Types
The accepted prop types and their default values are listed below
Property | Type | Default Value | Description |
---|---|---|---|
canvasFillSpace | Boolean | true |
Determines if the component will fill the width and height of it's parent container. |
width | Number | 200 |
Width of component in px, canvasFillSpace set to true will override this value. |
height | Number | 200 |
Height of component in px, canvasFillSpace set to true will override this value. |
useBouncyWalls | Boolean | false |
Controls whether particles pass through walls and out the other side, or bounce off the borders. |
particleCount | Number | 50 |
Number of particles rendered. |
color | String | '#94ecbe' |
Color of the particles, must be either hex or rgb. |
minSize | Number | null |
Smallest possible size for each particle. When set to null all particles will be drawn at maxSize . |
maxSize | Number | 5 |
Largest possible size for each particle. |
directionAngle | Number | 0 | Direction of travel of particles in degrees, 0 being upwards. |
directionAngleVariance | Number | 180 | Defines a range for directionAngle. Maximum angle being directionAngle + directionAngleVariance and minimum being directionAngle - directionAngleVariance . |
minSpeed | Number | null |
Smallest possible speed for each particle. When set to null all particles will be set to the value of maxSpeed . |
maxSpeed | Number | 1 |
Largest possible speed for each particle. |
minOpacity | Number | null |
Lowest possible opacity for each particle. When set to null all particles will be drawn at the value of maxOpacity . |
maxOpacity | Number | 1 |
Largest possible opacity for each particle. |
opacityTransitionTime | Number | 3000 |
Time in ms for particles to transition from minOpacity to maxOpacity . |
License
MIT