@@ -5,10 +5,11 @@ import React, { useEffect, useImperativeHandle, useRef } from 'react'
55interface FireworksProps extends React . HTMLAttributes < HTMLDivElement > {
66 children ?: React . ReactNode
77 options ?: FireworksOptions
8+ autostart ?: boolean
89}
910
1011const Fireworks = React . forwardRef < FireworksHandlers , FireworksProps > (
11- ( { children, options, ...rest } , ref ) => {
12+ ( { children, options, autostart = true , ...rest } , ref ) => {
1213 const container = useRef < HTMLDivElement > ( null )
1314 const fireworks = useRef < FireworksJs | null > ( null )
1415
@@ -20,10 +21,10 @@ const Fireworks = React.forwardRef<FireworksHandlers, FireworksProps>(
2021 fireworks . current ! . start ( )
2122 } ,
2223 stop ( ) {
23- fireworks . current ! . stop ( true )
24+ fireworks . current ! . stop ( )
2425 } ,
2526 async waitStop ( ) {
26- await fireworks . current ! . waitStop ( true )
27+ await fireworks . current ! . waitStop ( )
2728 } ,
2829 pause ( ) {
2930 fireworks . current ! . pause ( )
@@ -43,11 +44,16 @@ const Fireworks = React.forwardRef<FireworksHandlers, FireworksProps>(
4344 } ) )
4445
4546 useEffect ( ( ) => {
46- fireworks . current = new FireworksJs ( container . current ! , options )
47- fireworks . current . start ( )
47+ if ( ! fireworks . current ) {
48+ fireworks . current = new FireworksJs ( container . current ! , options )
49+ }
50+
51+ if ( autostart ) {
52+ fireworks . current . start ( )
53+ }
4854
4955 return ( ) => {
50- fireworks . current ! . stop ( true )
56+ fireworks . current ! . stop ( )
5157 }
5258 } , [ ] )
5359
0 commit comments