javascript - setTimeout in useEffect
问题描述
我正在尝试更改 setTimeout 和 useEffect 中元素的样式。
这是代码的样子
In home.js:
useEffect(()=>{
setTimeout(()=>{
// change styles for 'frontenddevelopment'
changeStyles1();
},1000)
// changeStyles for 'i love frontend'
changeStyles2()
},[])
我发现在主页渲染后,如果我导航到其他页面并返回主页,将再次调用 changesStyles1() 并且动画将再次运行。当我从其他页面导航回主页时,我应该怎么做才能避免再次调用 setTimeout()。
如果我从主页导航到其他页面然后返回主页,您会注意到 changeStyle2 不会再次动画。这就是我想要的效果。
解决方案
推荐阅读
- c# - 如何从对象数组中动态读取值并对其进行计数?
- java - 使用 Spring MVC 在 Java 中上传分块文件?
- laravel - 特定视图无法扩展 Laravel 7 中的布局文件
- javascript - 如何在 Three.js 中制作一个有效的天空盒?
- c++ - 使用可变参数模板化帮助器的多个 std::variant 访问
- assembly - 阵列平均 MIPS
- python - 你如何以 JSON 格式编写 Python 日期时间?
- autohotkey - 我是否错误地引用了 hwnd?无法使用 AutoHotkey 从简单的记事本窗口中获取文本
- plot - 如何解决在 scilab 中绘制极坐标图的错误
- python - VS Code 数据科学变量浏览器和查看器选项