在一个反应应用程序中,我使用PIXI库来渲染动画,舞台是由@inlet/react-pixi
,gsap
创建的。
在第一次运行时,应用程序创建一个可点击的sprite
,然后添加一个带有回调的事件侦听器"pointerTap“。
useEffect(() => {
chestSprite.on('pointertap', callback);
})
一旦单击chestSprite,回调就会触发7次而不是1次。如何使它只触发一次?
我认为原因在于,在init上重新呈现几次,并在每个呈现上添加另一个eventListener。
发布于 2022-07-08 11:16:28
尝试将空数组传递给useEffect
函数:
useEffect(() => {
chestSprite.on('pointertap', callback);
}, []);
相关文档:https://reactjs.org/docs/hooks-effect.html#tip-optimizing-performance-by-skipping-effects
https://stackoverflow.com/questions/72910235
复制相似问题