React框架使用 rrweb 进行回放

2024-04-01  本文已影响0人  涅槃快乐是金

什么是 rrweb?

rrweb 是一个非常强大的开源 JavaScript 库,专注于记录和回放用户在网站上的行为。以下是 rrweb 的一些优势:

使用 React 设置 rrweb

npm install rrweb rrweb-player

建议将保存事件块的变量放在组件外部,以避免受到重新渲染的影响。


在这里,我们收集事件并将它们推送到包含所有事件的数组中,然后我们调用我们的函数将事件集合发送回后端,但我们每隔 10 秒调用一次该函数,以避免重复调用后端,成功上传事件后,我们将事件变量重置为空数组,然后准备收集新事件。

在使用 React 初始化 rrweb 时要避免的事情

首先,最重要的是,建议在自己的 useEffect 中使用 rrweb,该 useEffect 不依赖于另一个变量或事件,该事件必须等待来自后端的数据。


避免以这种方式初始化 rrweb,因为在页面加载时,rrweb 会立即开始记录,当来自后端的数据变得可用时,它会创建一个新的 rrweb 记录实例,从而使重放视频闪烁并显示所有内容两次。



上述截图修复了我提到的创建多个 rrweb 记录实例的问题,因此在实例化 rrweb 记录之前检查数据是否可用,这样 rrweb 就不会在页面加载时开始记录,直到数据可用为止。注意:您可以通过调用分配给记录实例的 stopFn 在代码的任何行停止记录。

使用 rrweb-player 重放记录的数据

对于视频重放部分,我建议将记录的事件块保存在一个数据库或者文件中,然后前端可以向 URL 发送 GET 请求获取指定的文件。


然后将一个 div 作为目标来显示其中的视频。

上一篇 下一篇

猜你喜欢

热点阅读