我在这里找不到答案AOS Library not working except for on refresh
我正在制作一个React应用程序,并希望使用AOS的动画https://michalsnik.github.io/aos/。
我有一个包含以下代码的函数组件
import AOS from 'aos';
import 'aos/dist/aos.css';
export default function Portfolio() {
useEffect(() => {
AOS.init({
duration: 1000
});
AOS.refresh();
}, []);
return(
<span className="bumper">Projects </span>
<div data-aos="fade-in">
<h3> Hello! </h3>
</div>
)
当我第一次加载页面时,屏幕上只显示“Projects”,没有“Hello!",但当我将“Hello!”编辑为“Hi!”,React自动刷新时,我看到动画出现了。
这到底是怎么回事?
我在React Dev环境中
"react-dom": "^18.1.0",
"react": "^18.1.0",
"aos": "^3.0.0-beta.6",
1条答案
按热度按时间ubby3x7f1#
React V18为useEffect Hook添加了一个重新渲染。所以现在它在strict模式下重新渲染了两次,启用了。有两种方法可以解决这个问题。要么禁用strict模式(我完全不推荐),要么通过返回一个回调函数来取消第一次渲染时发生的事情。