New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

scroll-lazy-load

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

scroll-lazy-load

滚动加载组件

latest
Source
npmnpm
Version
1.0.15
Version published
Maintainers
1
Created
Source

scroll-lazy-load

描述

滚动加载组件

ScrollLazyLoad Props

属性名类型是否必填描述默认值
loadMore() => Promise<any>加载更多函数-
hasMore(data: any) => Boolean是否还有更多数据需要加载-
onError(data: any) => BooleanloadMore 请求报错函数-
renderLoading() => React.ReactNode | React.ReactNode加载过程中 loading 展示
Loading...
renderNoMore() => React.ReactNode | React.ReactNode无更多数据需要加载展示
暂无更多数据
intersectionConfigIntersectionConfig详见 IntersectionConfig-

IntersectionConfig

属性名类型是否必填描述默认值
rootElement | Document | null滚动区域的根节点ScrollLazyLoad 组件父节点
rootMarginstring 滚动区域 margin-

注:root, rootMargin 参数同 Intersection Observer

例子

import React, { useCallback, useState, useRef } from "react";
import ScrollLazyLoad from "scroll-lazy-load";

const arr = Array(50).fill("test");

const Example = () => {
  const container = useRef() as any;
  const [rows, setRows] = useState(arr);

  const loadMore = useCallback(() => {
    const newRows = [...rows].concat(Array(10).fill("test"));
    return new Promise((resolve) => {
      setTimeout(() => {
        setRows(newRows);
        const randow = Math.random();
        if (randow > 0.5) {
          resolve(true);
        } else {
          resolve(false);
        }
      }, 1000);
    });
  }, [rows]);

  const hasMoreOrNot = useCallback((data) => {
    return data;
  }, []);

  return (
    <div style={{ height: "600px", overflow: "auto" }} ref={container}>
      <ScrollLazyLoad
        loadMore={loadMore}
        hasMore={hasMoreOrNot}
        intersectionConfig={{
          root: container.current,
          rootMargin: "100px",
        }}
      >
        {rows.map((item, index) => {
          return <div key={index}>这是第{index + 1}行</div>;
        })}
      </ScrollLazyLoad>
    </div>
  );
};

export default Example;

Keywords

scroll

FAQs

Package last updated on 23 Apr 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts