react-gridlist

A virtual-scrolling GridList component based on CSS Grids

Github星跟蹤圖

React GridList

A virtual-scrolling GridList component based on CSS Grids.

  • Render anything (not just images) of a known width/height inside.
  • Variable height items in the same row.
  • Highly performant virtual scrolling (aka windowing) for buttery smoothness.
  • Customizable & Responsive.
  • Very small bundle size

Install

npm install --save react-gridlist

Example

import React from "react"
import GridList from "react-gridlist"

function getGridGap(elementWidth: number, windowHeight: number) {
  if (elementWidth > 720 && windowHeight > 480) {
    return 10
  } else {
    return 5
  }
}

function getColumnCount(elementWidth: number) {
  return Math.floor(elementWidth / 300)
}

function getWindowMargin(windowHeight: number) {
  return Math.round(windowHeight * 1.5)
}

function getItemData(image: Image, columnWidth: number) {
  let imageRatio = image.height / image.width
  let adjustedHeight = Math.round(columnWidth * imageRatio)

  return {
    key: image.url,
    height: adjustedHeight,
  }
}

function Example(props) {
  return (
    <GridList
      items={props.images}
      getGridGap={getGridGap}
      getColumnCount={getColumnCount}
      getWindowMargin={getWindowMargin}
      getItemData={getItemData}
      renderItem={(image) => {
        return (
          <img
            src={image.url}
            width={image.width}
            height={image.height}
            className={styles.image}
          />
        )
      }}
    />
  )
}

主要指標

概覽
名稱與所有者jamiebuilds/react-gridlist
主編程語言TypeScript
編程語言HTML (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2020-03-30 07:32:08
推送於2021-05-14 21:54:13
最后一次提交2020-11-02 12:17:40
發布數3
最新版本名稱v1.1.0 (發布於 2020-11-02 12:17:40)
第一版名稱v1.0.0 (發布於 2020-03-30 00:33:19)
用户参与
星數426
關注者數5
派生數8
提交數14
已啟用問題?
問題數0
打開的問題數0
拉請求數2
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?