0.1.32 • Published 4 years ago
@protonko/section-list v0.1.32
SectionList
Component for rendering sectioned lists for plain React. Created by analogy with React Native SectionList.

Installation
The package can be installed via npm:
npm install @protonko/section-listOr via yarn:
yarn add @protonko/section-listYou’ll need to install react and react-dom separately since those dependencies aren’t included in the package.
Support
- React 17.0.0 or newer
Usage
import React from 'react';
import {Section, SectionList} from '@protonko/section-list'
interface ExampleData {
id: number,
title: string,
description: string,
// ...any attributes
}
const sections: Section<ExampleData> = [{
title: 'Section 1',
data: [{id: 1, title: 'title 1', description: 'descr'}]
}]
const Example = () => {
const keyExtractor = (item: ExampleData) => item.id
const renderItem = (elem: ExampleData) => (
<article>
<h2>{elem.title}</h2>
<p>{elem.description}</h2>
</article>
)
return (
<SectionList<ExampleData>
keyExtractor={keyExtractor}
renderItem={renderItem}
sections={sections}
/>
)
}Props
The component expects a generic-type T that describes section data.
| Name | Description | Type | Required |
|---|---|---|---|
| keyExtractor | Used to extract a unique key for a given item at the specified index. | (item: T, index: number) => string | yes |
| renderItem | Default renderer for every item in every section. | (value: T, index: number, array: T[]) => ReactNode, | yes |
| sections | The actual data to render. | {title: string, data: T[]}[] | yes |
| className | Used to override a component's styles using custom classes. | string | no |
| onEndReached | Called once when the scroll position gets within onEndReachedThreshold of the rendered content. | () => void | no |
| onEndReachedThreshold | How far from the end the bottom edge of the list must be from the end of the content to trigger the onEndReached callback. | number | no |
| renderSectionHeader | Rendered at the top of each section. | (section: {title: string, data: T[]}) => ReactNode | no |
| shouldLoadData | Indicated whether to create an IntersectionObserver. | boolean | no |
| ListEmptyComponent | Rendered when the list is empty. | ReactElement | no |
| ListFooterComponent | Rendered at the very end of the list. | ReactElement | no |
0.1.32
4 years ago
0.1.31
4 years ago
0.1.30
4 years ago
0.1.28
4 years ago
0.1.27
4 years ago
0.1.26
4 years ago
0.1.25
4 years ago
0.1.24
4 years ago
0.1.23
4 years ago
0.1.22
4 years ago
0.1.21
4 years ago
0.1.20
4 years ago
0.1.19
4 years ago
0.1.18
4 years ago
0.1.17
4 years ago
0.1.16
4 years ago
0.1.15
4 years ago
0.1.14
4 years ago
0.1.13
4 years ago
0.1.12
4 years ago
0.1.11
4 years ago
0.1.10
4 years ago
0.1.9
4 years ago
0.1.8
4 years ago
0.1.7
4 years ago
0.1.6
4 years ago
0.1.5
4 years ago
0.1.4
4 years ago
0.1.3
4 years ago
0.1.2
4 years ago
0.1.1
4 years ago
0.1.0
4 years ago