Security News
PyPI’s New Archival Feature Closes a Major Security Gap
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
@dwqs/react-virtual-list
Advanced tools
A tiny virtualization list component, supports variable height
A tiny virtualization list component, supports dynamic height.
Attention: On iOS UIWebViews,
scroll
events are not fired while scrolling is taking place; they are only fired after the scrolling has completed. See more
Using npm or yarn:
// npm
npm install @dwqs/react-virtual-list --save
// yarn
yarn add @dwqs/react-virtual-list
import React, { Component } from 'react'
import VirtualizedList from '@dwqs/react-virtual-list'
export default class Hello extends Component {
constructor (props) {
super(props)
this.data = [{
id: 1,
val: Math.random()
}, {
id: 2,
val: Math.random()
}, {
id: 3,
val: Math.random()
}, ...]
this.renderItem = this.renderItem.bind(this)
}
renderItem ({index, isScrolling}) {
const item = this.data[index]
return (
<div>#{index}, {item.val}</div>
)
}
render () {
return (
<VirtualizedList
itemCount={this.data.length}
estimatedItemHeight={20}
renderItem={this.renderItem}
/>
)
}
}
Check out the online demo here
Property | Type | Default | Required? | Description |
---|---|---|---|---|
itemCount | Number | ✓ | The number of items you want to render | |
renderItem | Function | ✓ | Responsible for rendering an item given its index and itself: ({index: number, isScrolling: boolean}):React.PropTypes.node | |
overscanCount | Number | 5 | Number of extra buffer items to render above/below the visible items. Tweaking this can help reduce scroll flickering on certain browsers/devices | |
estimatedItemHeight | Number | 175 | The estimated height of the list item element, which is used to estimate the total height of the list before all of its items have actually been measured | |
className | String | '' | Class names of the wrapper element | |
onScroll | Function | () => {} | Callback invoked whenever the scroll offset changes within the inner scrollable region: ({scrollTop: number}):void | |
loadMoreItems | Function | () => {} | Used to infinite scroll. Callback to be invoked when more items must be loaded | |
onLoading | Function | () => null | Used to infinite scroll. The component will show when loading next page data | |
onEnded | Function | () => null | Used to infinite scroll. The component will show when no more data to load | |
hasMore | Boolean | false | Used to infinite scroll. Whether has more data to load | |
height | Number | undefined | Height of the wrapper element. If useWindow is false and scrollableTarget is undefined, the wrapper element will be the scrollable target | |
useWindow | Boolean | true | Whether to set the window to scrollable target | |
scrollableTarget | String | undefined | Set the scrollable target, whose value is used to document.getElementById . window is the default scrollable target, so if you want to change it, you need to set useWindow to false and dont set the height prop | |
noContentRenderer | Function | () => null | Callback used to render placeholder content when itemCount is 0 |
git clone git@github.com:dwqs/react-virtual-list.git
cd react-virtual-list
npm i
npm run dev
This repo is released under the MIT
FAQs
A tiny virtualization list component, supports variable height
We found that @dwqs/react-virtual-list demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Research
Security News
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.