Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
58 of 196 menu
◀ ▶

Компонент FlatList

Компонент FlatList принимает массив данных и функцию отрисовки каждого пункта. На экран попадают только строки в видимой области и рядом с ней. Прокрутку к пункту и смещению вызывают методы через ссылку ref.

Синтаксис

<FlatList data={data} renderItem={renderItem} keyExtractor={keyExtractor} />

Параметры

Параметр Описание
data Массив элементов списка. Каждый элемент передают в renderItem.
renderItem Функция отрисовки пункта. Получает объект с полями item и index.
keyExtractor Функция ключа строки. Получает item и index, возвращает строку.
horizontal При true пункты идут в горизонтальный ряд с прокруткой.
refreshControl Элемент RefreshControl для обновления по жесту вниз.
keyboardDismissMode Когда прятать клавиатуру при прокрутке. Строка из перечисления KeyboardDismissMode.
keyboardShouldPersistTaps Поведение клавиатуры после касания. Строка из перечисления KeyboardShouldPersistTaps.

Методы

Метод Описание
scrollToIndex Прокручивает список к пункту с заданным номером.
scrollToOffset Прокручивает список к заданному смещению в пикселях.
scrollToEnd Прокручивает список к последнему пункту.

Пример

Давайте выведем короткий список строк:

import { FlatList, Text } from 'react-native'; const data = ['abcde', '12345']; export default function App() { return ( <FlatList data={data} keyExtractor={(item, index) => String(index)} renderItem={({ item }) => <Text>{item}</Text>} /> ); }

На экране появятся две строки одна под другой с прокруткой при длинном массиве.

Пример

Давайте зададим ключ из содержимого пункта:

import { FlatList, Text } from 'react-native'; const data = ['abcde', '12345', 'abcde']; export default function App() { return ( <FlatList data={data} keyExtractor={(item) => item + '-key'} renderItem={({ item, index }) => ( <Text>{item} #{index}</Text> )} /> ); }

На экране у каждой строки будет свой номер после текста пункта.

Смотрите также

  • компонент SectionList,
    который группирует пункты по секциям
  • компонент ScrollView,
    который прокручивает все дочерние элементы сразу
  • метод scrollToIndex,
    который прокручивает к номеру пункта
  • компонент RefreshControl,
    который обновляет список по жесту вниз
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить