better-scroll 笔记
技巧
1. 当绑定容器为列表外面的元素时
<div className="wrapper" ref={scrollContaninerRef} > <div className="refresh-container" data-content-before="下拉刷新" > {props.children} {/* 滑到底部加载动画 */} <div className="refresh-footer" style={PullUpdisplayStyle}>正在加载</div> {/* 顶部下拉刷新动画 */} <div className="refresh-header" style={PullDowndisplayStyle}>Loading</div> </div> </div>
2 当绑定容器列表元素时
return ( <div className="refresh-container" ref={scrollContaninerRef} data-content-before="下拉刷新"> {props.children} {/* 滑到底部加载动画 */} <div className="pull_up_loading" style={PullUpdisplayStyle}>正在加载</div> {/* 顶部下拉刷新动画 */} <div className="pull_down_loading" style={PullDowndisplayStyle}>Loading</div> </div> );
总结: 绑谁谁就可以滚动
坑
- 最外层wrapper一定要有高度且不能大于列表高度 和overflow 这和其他列表滚动一致
- 列表如果是异步加载一定要加载成功后再去初始化, 组件懒加载也要注意这个问题
- 有时会遇到滚到一半就不能滚动了,是因为刚开始请求的数据不完全,比如图片只请求了一半,这样就会导致bs计算高度不正确,所以需要监听图片加载,执行scroll.refresh()
- 防抖debounce,监听图片加载时@load='imageLoad',如果不设置防抖,那么每加载一张图片就会执行一次监听,十分浪费资源,所以使用防抖来减少这种函数的调用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现