react 中过渡动画实现
在 react 应用中,当元素被插入页面时,可以使用过渡动画来营造流畅的视觉效果。对于动态插入元素,可以通过使用 javascript 动效库实现。
使用 framer motion
对于复杂的动画需求,推荐使用 framer motion 库。它提供了直观且强大的 api,可以轻松定义和控制过渡。其使用示例如下:
import { motion } from "framer-motion"; const Button = () => { const handleClick = async () => { // 通过 axios 获取数据 const data = await axios.get("/my-api"); // 创建一个 motion.div,提供要插入的元素 const div = ( <motion.div initial={{ opacity: 0, scale: 0.5 }} // 初始化状态 animate={{ opacity: 1, scale: 1 }} // 动画状态 > {/* 这里插入从 API 获取的数据 */} {data.map((item) => ( <p key={item.id}>{item.name}</p> ))} </motion.div> ); // 将 div 插入页面 document.body.appendChild(div); }; return <button onClick={handleClick}>获取数据</button>; };
在上述代码中: