特效

Typewriter

平滑打字机效果组件:弹簧宽度跟随(useSpring)实现无顿挫的容器缩放,全文渲染 + overflow 裁剪避免字符闪现,支持多文案轮播、单次打字、自定义光标与弹簧参数。

typewritertypinganimationtextmotionspringeffectcarousel

快速预览

查看 Typewriter 组件的基本效果

I'm aDeveloper

基本用法

使用 Typewriter 组件的基础示例

导入组件

1import { Typewriter } from "@/components/qiuye-ui/typewriter";

使用组件

1<Typewriter
2 phrases={["Hello", "World", "React"]}
3 typingSpeed={90}
4 loop
5/>

组件演示

查看组件的各种使用方式和效果

多文案轮播

传入字符串数组,自动循环打字 → 删除 → 下一段。

I'm aDeveloper

单次打字(不循环)

传入单个字符串并设置 loop=false,打完后光标保持闪烁。

Hello, welcome to QiuYe UI!

自定义光标

通过 cursor 传入自定义 ReactNode 或 cursorClassName 覆盖样式。

自定义光标颜色:红色光标
自定义光标元素:Block cursor
隐藏光标:No cursor here

交互式配置

实时调整打字速度、光标显隐、是否循环。

速度:
React

切换停顿(switchInterval)

控制删完一段后、打下一段之前的等待时间,值越大"清空后等一下"的节奏感越明显。

无停顿(0ms)
Hello
默认停顿(500ms)
Hello
长停顿(1200ms)
Hello

弹簧参数对比

通过 springConfig 调整容器宽度跟随的弹簧物理参数。

默认弹簧
stiffness: 300
柔和弹簧
stiffness: 120
强力弹簧
stiffness: 500