@douyinfe/semi-animation-react

中文文档
2.105.0发布于 2026/11/12MITTypeScriptESM + CJS近 30 天下载 8.4万

半自动反应的运动库

中文使用文档
文档目录5 节
  1. 安装
  2. 使用量
  3. 过渡构成部分
  4. 道具
  5. 配置

基于 @douyinfe/semi-animation。 。 。 .

所有组件在 @douyinfe/semi-ui 根据这个动画库执行,例如: Modal, Tooltip, Collapse 和其他组件内容显示和退出效果.

安装

npm install @douyinfe/semi-animation-react

使用量

过渡构成部分

它用于实现组件的动画效果[显示并退出]. 例如:

import { Transition } from "@douyinfe/semi-animation-react";
import { useState } from "react";

export default function App() {
  const [visible, setVisible] = useState(false);
  return (
    <div className="App">
      <Transition
        state={visible ? "enter" : "leave"}
        from={{ opacity: 0, scale: 0}}
        enter={{ opacity: 1, scale: 1 }}
        leave={{ opacity: 0, scale: 0 }}
      >
        {({ scale, opacity }: any) => (
          <h2 style={{transform: `scale(${scale})`, opacity}}>
            Toggle to see some animation happen!
          </h2>
        )}
      </Transition>

      <button onClick={() => {
        setVisible((state) => !state)
      }}>toggle</button>
    </div>
  );
}

道具

名称类型需求默认说明
从对象Y初始状态
输入对象Y显示动画的结束状态, 但也显示退出动画的初始状态
离开对象Y退出动画的终止状态
状态Enum “ 进入” 、 “ 离开”无''当前状态
将输入函数无=> {}输入动画开始前的回调功能
输入函数无=> {}动画结束前的回调功能
将离开函数无=> {}退出动画开始前的回调功能
离开函数无=> {}退出动画结束前的回调功能
开始函数无=> {}动画开始前的回调功能,包括出入口
备份函数无=> {}动画结束前的回调功能, 包括进出
配置配置类型无{}其他动画参数

配置

名称类型默认说明
会期数目1 000个动画持续时间. 如果通过此参数, 动画的放松功能将使用松动或线性函数, unit: ms
放宽函数 QQ 串减轻动画功能. 如果持续时间没有通过,则默认使用弹簧松动功能. 如果持续时间参数被传入,则默认会使用线性宽松函数. 例如,收到的 "cubic-bezier(.17,.67,.83,.67)" 将会使动画帧更新按照此轻松功能进行
紧张数目170国紧张,用于弹簧松动功能
摩擦数目页:1Friction,用于弹簧松动功能

版本与发布记录

@douyinfe/semi-animation-react 共发布 592 个版本,首次发布于 2021/10/25;过去 12 个月发布了 67 个版本。

版本发布日期距今
2.105.0latest2026/11/121 天前
2.104.02026/10/091 个月前
2.103.02026/09/012 个月前
2.102.02026/07/313 个月前
2.38.4-alpha.2-3117-31202026/07/293 个月前
2.101.12026/07/203 个月前

其他发布通道:next → 2.1.0-next.1,2.18.1-alpha.0 → 2.18.1-alpha.0,test → 2.38.3-alpha.4,patch-table → 2.38.3-alpha.2-patch-table,patch-tooltip → 2.70.1-alpha.1-patch-tooltip,2.58.0-hotfix-aria → 2.58.0-hotfix-aria。

关于 @douyinfe/semi-animation-react 的常见问题

@douyinfe/semi-animation-react 是什么?

半自动反应的运动库

如何安装 @douyinfe/semi-animation-react?

在项目目录运行 npm install @douyinfe/semi-animation-react,或使用 pnpm add / yarn add / bun add。

@douyinfe/semi-animation-react 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@douyinfe/semi-animation-react 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@douyinfe/semi-animation-react 可以商用吗?

@douyinfe/semi-animation-react 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@douyinfe/semi-animation-react 的下载量有多少?

根据 npm 官方下载统计,@douyinfe/semi-animation-react 在 2026/10/13 – 2026/11/11 这 30 天内被下载 84,424 次,日均约 2,814 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@douyinfe/semi-animation-react 还在维护吗?

最新版本 2.105.0 发布于 2026/11/12(1 天前);至今共发布 592 个版本,其中过去 12 个月发布了 67 个;首次发布于 2021/10/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。