[英]How to add animate on scroll effect to fetched data react
我想向填充了来自服务器的数据的多个 div 添加 AOS 效果,这些数据在初始渲染之后渲染:
import {useEffect, useState} from "react"; export const Test = () => { const [data, setData] = useState([]); async function fetchData() { //Example fetch request const response = await fetch(API, {method:"GET"}); const json = await response.json(); setData(json); } useEffect(() => {fetchData();}, []); return ( <> { data.map((text, index) => { //add aos effect to each div <div key={index}> {text} </div> }); } </> ) }
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div key={index} data-aos="fadeIn"></div>
这根本没有效果。
我还查看了react-animate-on-scroll ,但它与 react v. 18.1.0 不兼容:
如何在滚动(AOS)上获得动画以处理获取的数据以做出反应?
我发现了错误。 我还必须导入 aos css 文件:
import AOS from "aos";
import "aos/dist/aos.css";
您是否首先初始化了 AOS?
<script>
AOS.init();
</script>
由于反应渲染性质,您可能需要刷新 AOS,它会在每次组件更新时渲染新的 html 元素。
AOS.refresh();
我会尝试提供动画或使用 Intersection Observer 的课程
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.