UNPKG

syncbasestore

Version:

Lightweight reactive store with built-in filtering and async state handling

13 lines (12 loc) 410 B
import { useEffect, useState } from 'react'; import { getSyncBase } from '../store/createSyncBase'; export function useBaseFetch(selector) { const base = getSyncBase(); const [selected, setSelected] = useState(() => selector(base.getState())); useEffect(() => { return base.subscribe((state) => { setSelected(selector(state)); }); }, [base]); return selected; }