在 React 中渲染 Lottie 动画

在 React 中渲染 Lottie 动画有两种常见方式:


✅ 方式一:使用封装库 [lottie-react]

这是最推荐的方式,符合 React 习惯,使用简单。

1️⃣ 安装依赖

npm install lottie-react

2️⃣ 编写组件

import React from 'react';
import Lottie from 'lottie-react';
import animationData from './path/to/your/animation.json';

const LottiePlayer = () => (
  <Lottie
    animationData={animationData}
    loop={true}
    style={{ width: 300, height: 300 }}
  />
);

🌟 可选属性(lottie-react

属性说明
animationData动画 JSON 数据
loop是否循环播放(默认 true)
autoplay是否自动播放(默认 true)
style设置动画容器样式
onComplete播放完回调
lottieRef可用于控制播放(pause, stop 等)

✅ 方式二:使用底层库 [lottie-web]

如果你要手动控制或自定义更复杂行为,可以使用原始库。

1️⃣ 安装依赖

npm install lottie-web

2️⃣ 示例组件

import React, { useEffect, useRef } from 'react';
import lottie from 'lottie-web';
import animationData from './path/to/your/animation.json';

const LottiePlayer = () => {
  const containerRef = useRef(null);

  useEffect(() => {
    const anim = lottie.loadAnimation({
      container: containerRef.current, // 指定渲染容器
      renderer: 'svg',                // 或 'canvas', 'html'
      loop: true,
      autoplay: true,
      animationData: animationData,    // 动画数据
    });

    return () => anim.destroy();       // 卸载组件时销毁动画
  }, []);

  return (
    <div
      ref={containerRef}
      style={{ width: 300, height: 300 }}
    />
  );
};

export default LottiePlayer;

🔁 对比总结

方式优点适合场景
lottie-react更符合 React 习惯,简单易用普通场景,快速集成动画
lottie-web更强控制力,底层 API 支持复杂控制场景(跳帧、事件等)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值