mirror of
https://github.com/Zagrios/bs-manager.git
synced 2026-07-03 14:08:25 +02:00
14 lines
411 B
TypeScript
14 lines
411 B
TypeScript
import { Observable } from "rxjs";
|
|
import { useState, useEffect } from "react";
|
|
|
|
export function useObservable<T>(observable: Observable<T>, defaultValue?: T): T {
|
|
const [obsValue, setObsValue] = useState(defaultValue ?? (null as T));
|
|
|
|
useEffect(() => {
|
|
const sub = observable.subscribe(val => setObsValue(() => val));
|
|
return () => sub.unsubscribe();
|
|
}, []);
|
|
|
|
return obsValue;
|
|
}
|