监听 react-custom-scrollbars 滚动到底部

简介: 监听 react-custom-scrollbars 滚动到底部

功能:下拉到底部加载数据

import React, {
    useEffect, useRef, useState } from 'react';
import {
    Scrollbars } from 'react-custom-scrollbars';

const Index = () => {
   
    const scrollbarsRef = useRef(null);
    // 模拟数据
    const [dataList, setDataList] = useState<string[]>([]);

    useEffect(() => {
   
        if(dataList.length === 0){
   
            let arr = [];
            for (let index = 0; index < 100; index++) {
   
                arr.push('测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试')
            };
            setDataList([...arr]);
        };
    },[]);

    /**
     * 滚动事件 监听滚动
     */
    const handleScroll = () => {
   
        const {
    scrollTop, scrollHeight, clientHeight } = scrollbarsRef.current.getValues();
        if (scrollHeight - scrollTop === clientHeight) {
   
            console.log("已滚动到底部");
        }
    };

    return (
        <div>
            <Scrollbars onScroll={
   handleScroll} autoHeightMin={
   '186px'} autoHide autoHeight ref={
   scrollbarsRef}>
                {
   
                    dataList.map((item: string, index: number) => {
   
                        return (
                            <div key={
   index}>{
   index}:{
   item}</div>
                        )
                    })
                } 
            </Scrollbars>
        </div>
    );
}

export default Index;
相关文章
|
1月前
|
前端开发 UED 开发者
React 滚动监听 Scroll Listener
本文介绍React中实现滚动监听的方法,涵盖基本概念、常见问题及解决方案。通过监听`window`对象的`scroll`事件,开发者可以在用户滚动时触发自定义逻辑。文章详细探讨了冗余调用、组件卸载时未清理事件监听器、滚动位置不一致等常见问题,并提供了防抖、节流、保存滚动位置等解决方案。同时,强调了跨浏览器兼容性和性能优化的重要性,帮助开发者在实际项目中更好地实现滚动监听功能。
70 17
|
前端开发 JavaScript API
【React工作记录九十九】ant design mobile实现tab滚动效果和闪屏小记
【React工作记录九十九】ant design mobile实现tab滚动效果和闪屏小记
251 0
|
前端开发
React滚动页面触发相应位置动画
滚动过的距离+当前窗口的高度>元素到顶部窗口的距离 ===>则触发动画
|
Android开发 iOS开发
react-native如何让两个滚动窗口同时滚动
react-native如何让两个滚动窗口同时滚动
|
4月前
|
前端开发 JavaScript 开发者
深入理解React Hooks:提升前端开发效率的关键
【10月更文挑战第5天】深入理解React Hooks:提升前端开发效率的关键
|
3月前
|
前端开发 JavaScript 开发者
颠覆传统:React框架如何引领前端开发的革命性变革
【10月更文挑战第32天】本文以问答形式探讨了React框架的特性和应用。React是一款由Facebook推出的JavaScript库,以其虚拟DOM机制和组件化设计,成为构建高性能单页面应用的理想选择。文章介绍了如何开始一个React项目、组件化思想的体现、性能优化方法、表单处理及路由实现等内容,帮助开发者更好地理解和使用React。
119 9
|
4月前
|
前端开发
深入解析React Hooks:构建高效且可维护的前端应用
本文将带你走进React Hooks的世界,探索这一革新特性如何改变我们构建React组件的方式。通过分析Hooks的核心概念、使用方法和最佳实践,文章旨在帮助你充分利用Hooks来提高开发效率,编写更简洁、更可维护的前端代码。我们将通过实际代码示例,深入了解useState、useEffect等常用Hooks的内部工作原理,并探讨如何自定义Hooks以复用逻辑。
|
4月前
|
前端开发 JavaScript API
探索React Hooks:前端开发的革命性工具
【10月更文挑战第5天】探索React Hooks:前端开发的革命性工具
|
3月前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
280 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
3月前
|
前端开发 JavaScript 开发者
使用React和Redux构建高效的前端应用
使用React和Redux构建高效的前端应用
71 1