synapse-storage
Version:
Набор инструментов для управления состоянием и апи-запросами
18 lines (17 loc) • 1.14 kB
TypeScript
import { DependencyList } from 'react';
import { Observable } from 'rxjs';
/**
* Подписка на Observable из компонента.
*
* `source` — либо готовый `Observable<T>` (например `selector.$`), либо фабрика
* `() => Observable<T>`, собирающая цепочку (`pipe(debounceTime(...))`) при подписке.
*
* До первого эмита возвращается `initialValue`. Подписка снимается на unmount и
* пересоздаётся при смене `deps` (вся цепочка строится заново — актуально для
* операторов с состоянием вроде `debounceTime`/`scan`). Если `deps` не переданы:
* для прямого Observable цепочка пересоздаётся при смене ссылки `source`, для
* фабрики — создаётся один раз.
*
* @template T тип значения потока
*/
export declare function useObservable<T>(source: Observable<T> | (() => Observable<T>), initialValue: T, deps?: DependencyList): T;