Реакт-хук, который подписывается на стор и трансформирует его значение с переданной функцией. Компонент будет обновляться только когда результат функции будет отличаться от предыдущего
Типичный вариант использования: подписаться на изменения отдельного поля в сторе
useStoreMap<State, Result>(  store: Store<State>,  fn: (state: State) => Result): ResultКраткая форма useStoreMap добавлена в effector-react@21.3.0
Аргументы
store: Используемый сторfn((state) => result): Функция-селектор
Возвращает
(Result)
useStoreMap<Source, Result>({  store: Store<Source>;  keys: any[];  fn: (state: Source, keys: any[]) => Result;  updateFilter?: (newResult: Result, oldResult: Result) => boolean;  defaultValue?: Result;}): ResultПерегрузка для случаев, когда требуется передать зависимости в React (для обновления элементов при изменении этих зависимостей)
Аргументы
params(Object): Объект конфигурацииstore: Используемый сторkeys(Array): Массив, который будет передан в React.useMemofn((state, keys) => result): Функция-селекторupdateFilter((newResult, oldResult) => boolean): Опционально функция, используемая для сравнения старого и нового результата работы хука, предназначено для избежания лишних ререндеров. Реализация опции для работы использует createStore updateFilterdefaultValue: Опциональное значение по умолчанию, используется когдаfnвозвращает undefined
Возвращает
(Result)
Опция updateFilter добавлена в effector-react@21.3.0
Опция defaultValue добавлена в effector-react@22.1.0
Пример
Этот хук полезен для работы со списками, особенно с большими
import { createStore } from "effector";import { useUnit, useStoreMap } from "effector-react";
const data = [  {    id: 1,    name: "Yung",  },  {    id: 2,    name: "Lean",  },  {    id: 3,    name: "Kyoto",  },  {    id: 4,    name: "Sesh",  },];
const $users = createStore(data);const $ids = createStore(data.map(({ id }) => id));
const User = ({ id }) => {  const user = useStoreMap({    store: $users,    keys: [id],    fn: (users, [userId]) => users.find(({ id }) => id === userId),  });
  return (    <div>      <strong>[{user.id}]</strong> {user.name}    </div>  );};
const UserList = () => {  const ids = useUnit($ids);  return ids.map((id) => <User key={id} id={id} />);};Документация на английском языке - самая актуальная, поскольку её пишет и обновляет команда effector. Перевод документации на другие языки осуществляется сообществом по мере наличия сил и желания.
Помните, что переведенные статьи могут быть неактуальными, поэтому для получения наиболее точной и актуальной информации рекомендуем использовать оригинальную англоязычную версию документации.