useList
React-хук для эффективного рендеринга сторов хранящих массивы данных. Каждый элемент будет мемоизирован и обновлен только при изменении его данных
Сокращённая запись#
Формула#
Аргументы#
store: Стор с массивом данныхfn:(item: T, key: number) => React.NodeРендер-функция для отображения в ui отдельного элемента массива. Явная простановка
keyреакт-элементам внутри рендер-функции не требуется, ключ элемента проставляется автоматическиАргументы
item: Элемент массиваkey: Индекс элемента, выступает как ключ для react
Возвращает:
React.Node
Возвращает#
React.Node
Полная запись#
Используется, когда необходимо вычислять ключ элемента или обновлять элементы при изменении какого-либо внешнего значения, доступного только через react (например, поля props из замыкания компонента или состояния другого стора)
По умолчанию useList обновляется только тогда, когда некоторые из его элементов были изменены.
Однако иногда необходимо обновлять элементы при изменении какого-либо внешнего значения (например, поля props или состояния другого стора).
В таком случае нужно сообщить react о дополнительных зависимостях, в таком случае элемент будет перерендерен и в случае их изменения
Формула#
Аргументы#
store: Стор с массивом данныхconfig: Объект конфигурацииkeys: Массив зависимостей, которые будут переданы в reactfn:(item: T, key: React.Key) => React.NodeРендер-функция для отображения в ui отдельного элемента массива. Явная простановка
keyреакт-элементам внутри рендер-функции не требуется, ключ элемента проставляется автоматическиАргументы
item: Элемент массиваkey: Ключ элемента, вычисляется с помощьюgetKey, если есть, в противном случае используется индекс элемента
Возвращает:
React.NodegetKey?:(item: T) => React.KeyФункция для вычисления ключа элемента на основе данных. Полученный ключ будет передан в react
Аргументы
item: Элемент массива
Возвращает:
React.Key
Возвращает#
React.Node
note
Опция getKey добавлена в effector-react 21.3.0