useCondition
Стабильный · с 0.1.0
Регистрирует pull-only геттер условия на триггере. Рантайм вызывает getter() только в момент зажигания — никаких подписок нет, и компонент не ререндерится, когда триггер срабатывает.
deps работает как у useMemo: при изменении любого элемента рантайм видит обновлённое замыкание.
Сигнатура
Заголовок раздела «Сигнатура»Параметры
Заголовок раздела «Параметры»| Параметр | Тип | Описание |
|---|---|---|
trigger | Trigger<S> | Триггер, возвращённый из createTrigger. |
name | K extends ConditionKey<S> | Условие, объявленное в схеме триггера. |
getter | () => ConditionMap<S>[K] | Синхронная функция, возвращающая текущее значение. |
deps | readonly unknown[] (по умолчанию []) | Та же семантика, что и у useMemo — при изменении любого элемента захваченное замыкание обновляется. |
Возвращает
Заголовок раздела «Возвращает»void. Регистрация выполняется в useEffect и зачищается на размонтировании.
Примеры
Заголовок раздела «Примеры»Базовый провайдер
Заголовок раздела «Базовый провайдер»Без deps (стабильный геттер)
Заголовок раздела «Без deps (стабильный геттер)»Если твой геттер читает из ref или модульной переменной, deps не нужен:
Из внешнего стора (пример с Zustand)
Заголовок раздела «Из внешнего стора (пример с Zustand)»Для zero-rerender-адаптера, обходящего путь через React state, используй @triggery/zustand.
Замечания
Заголовок раздела «Замечания»См. также
Заголовок раздела «См. также» useEvent Зажигать события из продюсеров.
useAction Зарегистрировать обработчик действия.
Руководство по условиям Полный нарратив о pull-only, снепшотах и владении.
@triggery/zustand Использовать Zustand-стор как условие без ререндеров.