synapse-storage
Version:
Набор инструментов для управления состоянием и апи-запросами
23 lines (18 loc) • 953 B
JavaScript
import { useEffect } from "react";
/**
* Императивная подписка-side-effect без возврата значения в рендер.
*
* `factory` создаёт подписку (`source$.subscribe(...)`) — её side-effect'ы (логирование,
* императивные вызовы, диспатч) живут внутри коллбэка `subscribe`. Возвращённый
* `Unsubscribable` снимается на unmount и при смене `deps` (перед созданием новой
* подписки).
*
* В отличие от `useObservable`, ничего не рендерит — только запускает и гасит подписку.
*/ function useSubscription(factory, deps) {
useEffect(()=>{
const subscription = factory();
return ()=>subscription.unsubscribe();
}, deps);
}
export { useSubscription };
//# sourceMappingURL=useSubscription.js.map