import {useState, useEffect} from 'react'; const useObservable = (observable$, initialValue?: T): T | undefined => { const [value, update] = useState(initialValue); useEffect(() => { const s = observable$.subscribe(update) return () => s.unsubscribe(); }, [observable$]); return value; } export default useObservable;