@triggery/mobx
Читай observable-состояние MobX из условия Triggery, не задействуя dependency tracking MobX на хост-компоненте. Никаких autorun, reaction, observer — просто обычная функция read, вызываемая в момент срабатывания.
Установка
Заголовок раздела «Установка»pnpm add @triggery/core @triggery/react @triggery/mobx mobx npm install @triggery/core @triggery/react @triggery/mobx mobx yarn add @triggery/core @triggery/react @triggery/mobx mobx bun add @triggery/core @triggery/react @triggery/mobx mobx Peer-зависимости: react >= 18.0.0, mobx ^6.
Что внутри
Заголовок раздела «Что внутри»| Экспорт | Назначение |
|---|---|
useMobxCondition(trigger, name, read) | Регистрирует условие на основе обычной read-функции над MobX-состоянием. |
Быстрый пример
Заголовок раздела «Быстрый пример»Как это работает
Заголовок раздела «Как это работает»Функция read вызывается только при срабатывании триггера. Dependency tracking MobX из хука не задействуется, поэтому:
- Никаких ререндеров компонентов из-за этого хука.
- Никакой подписчик не остаётся в живых между срабатываниями.
Если компоненты тоже должны рендерить observable — заворачивай их в observer (или используй useObserver из mobx-react-lite) — оба пути ортогональны.
read — обычная функция. Используй .get() для боксов, точечный доступ к observable.object и т.д. — ровно так же, как читаешь MobX-состояние в любом другом месте.
Связанные пакеты
Заголовок раздела «Связанные пакеты» @triggery/core Экспортирует Trigger.
@triggery/react useMobxCondition — это React-хук.
@triggery/zustand Альтернативный адаптер для Zustand-сторов.
@triggery/redux Альтернативный адаптер для Redux-сторов.
@triggery/signals Адаптер для состояния в форме сигналов (Preact, alien-signals).