Javascript 如何将背景JS动画集成到react应用程序中?

Javascript 如何将背景JS动画集成到react应用程序中?,javascript,reactjs,css-animations,react-animations,Javascript,Reactjs,Css Animations,React Animations,我正在尝试将萤火虫动画添加到react中的组件中,我尝试使用的代码就在这里。如果我有一个简单的HTML/CSS/Javascript设置,我知道该怎么做,但是我不知道如何在React的上下文和单个组件的范围内集成这个动画。我应该把下面的代码放在哪里?如何在组件中引用它 var total=40, container=document.getElementById('container'), w=window.innerWidth, h=window.innerHeigh

我正在尝试将萤火虫动画添加到react中的组件中,我尝试使用的代码就在这里。如果我有一个简单的HTML/CSS/Javascript设置,我知道该怎么做,但是我不知道如何在React的上下文和单个组件的范围内集成这个动画。我应该把下面的代码放在哪里?如何在组件中引用它


var total=40,
    container=document.getElementById('container'),
    w=window.innerWidth,
    h=window.innerHeight,
    Tweens=[],
    SPs=1;



for (var i=total;i--;){ 
    var Div=document.createElement('div');
    TweenLite.set(Div,{attr:{class:'dot'},x:R(w),y:R(h),opacity:0});
    container.appendChild(Div); Anim(Div);  Tweens.push(Div);
};

function Anim(elm){ 
    elm.Tween=TweenLite.to(elm,R(20)+10,{bezier:{values:[{x:R(w),y:R(h)},{x:R(w),y:R(h)}]},opacity:R(1),scale:R(1)+0.5,delay:R(2),onComplete:Anim,onCompleteParams:[elm]})
};

for(var i=total;i--;){
  Tweens[i].Tween.play()};


function R(max){return Math.random()*max};

其次,我应该把CSS代码放在哪里

body{
  background-color: #222222;
  overflow:hidden;
}

.dot{
  width:4px;
  height:4px;
  position:absolute;
  background-color:#ff00cc;
  box-shadow:0px 0px 10px 2px #ff00cc;
  border-radius: 20px;
  z-index:2;
}

#container {
width:100%; 
height:100%;
}
React的主页可能是最好的起点

首先,这里有一个可以直接在StackOverflow上运行的示例

常数{ useRef, 使用布局效果, }=反应 //从“React”导入React,{useRef,useLayoutEffect}; 函数Rmax{ 返回Math.random*max }; 功能背景道具{ 常数{ 总数=40 }=道具 常量ref=useRef useLayoutEffect=>{ 常数contanier=参考电流 const w=窗口宽度 常数h=窗内高度 常数点=[] 函数addAnimationelm{ 返回TweenLite.toelm,R20+10{ 贝塞尔:{ 价值观:[{ x:Rw, y:Rh }, { x:Rw, y:Rh }] }, 不透明度:R1, 比例:R1+0.5, 延迟:R2, onComplete:addAnimation, onCompleteParams:[榆树] } } 对于设i=0;i{ //这里有清晰的动画等等 dots.forEachdot=>dot.kill container.innerHTML= } },[总计] 回来 } 功能应用程序{ 回来 } ReactDOM.render、document.querySelectorcontainer 身体{ 背景色:22222; 溢出:隐藏; } 多特先生{ 宽度:4px; 高度:4px; 位置:绝对位置; 背景色:ff00cc; 盒影:0px 0px 10px 2px ff00cc; 边界半径:20px; z指数:2; } .萤火虫{ 宽度:100%; 身高:100%; }
您是否使用create react app创建了应用程序?@Khauri是的