没有合适的资源?快使用搜索试试~ 我知道了~
如何在 React 中构建 ChatGPT 打字动画
2 下载量 12 浏览量
2023-05-05
13:16:05
上传
评论 1
收藏 70KB DOCX 举报
温馨提示
ChatGPT 使用模拟在老式计算机屏幕上打字外观的打字动画。 这个动画是通过两个重要的概念来实现的: 文本一次显示一个字符,从而产生打字的错觉。 闪烁的光标表示当前正在键入的字符的位置。
资源推荐
资源详情
资源评论
让我们从研究如何一次显示一个字符开始:
useEffect(() => {
setCompletedTyping(false);
let i = 0;
const stringResponse = chatHistory[chatHistory.length - 1].content
const intervalId = setInterval(() => {
setDisplayResponse(stringResponse.slice(0, i));
i++;
if (i > stringResponse.length) {
clearInterval(intervalId);
setCompletedTyping(true);
}
}, 20);
return () => clearInterval(intervalId);
}, [chatHistory]);
要逐字符显示文本,请使用一个简单的 setInterval 函数,该函数在
每个时间间隔设置一个状态变量。然后将此状态变量显示给用户。
该 setInterval 函数继续调用指定的函数,直到 clearInterval 被调用。
在我们的例子中,我们 clearInterval 在输入完整个字符串后调用。
将向用户显示的字符串的来源取决于您的应用。我们使用一个
useEffect 挂钩,它会在每次 ChatGPT 向提示发送新响应时触发。
我们将每个响应存储在一个名为 的对象数组中 chatHistory。要仅
显示数组中的最后一个响应,我们使用 chatHistory[chatHistory.length -
1].content. 这将检索数组中的最后一个对象。
我将间隔设置为 20 毫秒,但您可以调整它以适合您的应用程序。
现在,让我们继续创建闪烁的光标。我们使用一个 SVG 和 CSS 关
键帧来实现这个效果:
资源评论
Qshen
- 粉丝: 1699
- 资源: 418
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功