带你读《2022技术人的百宝黑皮书》——短视频无尽流前端开发指南(4)

简介: 带你读《2022技术人的百宝黑皮书》——短视频无尽流前端开发指南(4)

带你读《2022技术人的百宝黑皮书》——短视频无尽流前端开发指南(3) https://developer.aliyun.com/article/1243499?groupCode=taobaotech




// ...
const VideoPlayer = forwardRef<IVideoPlayerRef, IVideoPlayerProps>((props, ref) => {
 // 播放器状态 默认为非激活状态
 const [activeStatus, setActiveStatus] = useState<boolean>(false);
 // ...
 /**
 * 隐藏封面占位
 */
 const hidePoster = () => {
 posterRef.current?.hide();
 };
 /**
 * 激活播放器
 */
 const activate = () => {
 setActiveStatus(true);
 };
 /**
 * 销毁播放器
 */
 const inActivate = () => {
 setActiveStatus(false);
 // 销毁播放器时展示封面占位
 posterRef.current?.show();
 };
 useImperativeHandle(ref, () => ({
 activate,
 inActivate,
 }));
 useEffect(() => {
 // 监听视频首帧加载完成时再去隐藏封面占位,防止屏幕闪动
 videoPlayerRef.current?.addEventListener('loadeddata', hidePoster);
 // ...
 return () => {
 videoPlayerRef.current?.removeEventListener('loadeddata', hidePoster);
 };
 }, []);
 // ...
});
export default memo(VideoPlayer);


滑动轮播容器


对于滑动轮播容器,采用swiper实现。swiper是强大的轮播组件,有丰富的内置能力,封装了react组件可以方便地使用。


虚拟轮播


由于短视频无尽流有”无尽“的特性,用户单次可能会浏览几十篇内容,因此可以使用swiper的virtual能力减少内存占用,会随着手动轮播切换增删节点,仅保留视角内上下有限个swiper slide节点。如下图所示,当前需要用到500个slide,但是通过动态增删节点保证实际渲染出的节点数最多只有5个(个数可配置)。


image.png



带你读《2022技术人的百宝黑皮书》——短视频无尽流前端开发指南(5) https://developer.aliyun.com/article/1243497?groupCode=taobaotech

相关文章
|
5天前
|
JSON 缓存 前端开发
个人练习前端技术使用Bootstrap、JQuery、thymeleaf
个人练习前端技术使用Bootstrap、JQuery、thymeleaf
11 2
|
15天前
|
缓存 人工智能 前端开发
前端技术博客:探索现代前端开发的奥秘
前端技术博客:探索现代前端开发的奥秘
33 11
|
2月前
|
前端开发 JavaScript 开发者
震惊!Web 前端 href 与 src 竟有如此差异,快来一探究竟,掌握热门技术核心要点
【8月更文挑战第26天】在Web前端开发中,`href`与`src`是两个常用属性,但其差异常被忽视。`href`(超文本引用)用于创建文档间的链接关系,如链接至外部网页或引入CSS文件;`src`(来源)则用于在文档内嵌入资源,如图片或JavaScript文件。两者在使用场景及加载机制上有所不同:`href`支持并行下载且不阻塞渲染,适合非关键资源加载;而`src`加载时会暂停页面渲染直至资源加载完成,适用于如图片和脚本这类对页面显示至关重要的资源。因此,正确理解并运用这两个属性对于保障网页性能和用户体验至关重要。
41 3
|
2月前
|
存储 移动开发 前端开发
HTML5时代来临,这些新特性你掌握了吗?一篇文章带你玩转Web前端技术潮流!
【8月更文挑战第26天】HTML5(简称H5)作为新一代Web标准,相比HTML4带来了诸多增强功能。
43 2
|
2月前
|
前端开发 JavaScript 项目管理
飞跃前端瓶颈:技术进阶指南精华篇
飞跃前端瓶颈:技术进阶指南精华篇
59 1
|
2月前
|
移动开发 前端开发 JavaScript
前端需要掌握的技术有哪些方面?
前端需要掌握的技术有哪些方面?
106 1
|
2月前
|
存储 前端开发 安全
【海贼王航海日志:前端技术探索】CSS你了解多少?(三)
【海贼王航海日志:前端技术探索】CSS你了解多少?(三)
30 2
|
2月前
|
Web App开发 前端开发
【海贼王航海日志:前端技术探索】CSS你了解多少?(二)
【海贼王航海日志:前端技术探索】CSS你了解多少?(二)
22 2
|
2月前
|
缓存 前端开发 JavaScript
【海贼王航海日志:前端技术探索】CSS你了解多少?(一)
【海贼王航海日志:前端技术探索】CSS你了解多少?(一)
22 2
|
2月前
|
前端开发 JavaScript 数据安全/隐私保护
【海贼王航海日志:前端技术探索】HTML你学会了吗?(二)
【海贼王航海日志:前端技术探索】HTML你学会了吗?(二)
29 1
下一篇
无影云桌面