UNPKG

react-concurrent-router

Version:

Performant routing embracing React concurrent UI patterns

32 lines (29 loc) 660 B
import { useContext, useState, useEffect } from 'react'; import { R as RouterContext } from './RouterContext-Bf2jDrm9.js'; const useHistory = () => { const { history: { length, location, action, index, entries }, subscribe } = useContext(RouterContext); const [lastUpdate, setLastUpdate] = useState(new Date().getTime()); useEffect(() => { const dispose = subscribe(async () => { setTimeout(() => setLastUpdate(new Date().getTime()), 1); }); return () => dispose(); }, []); return { length, location, action, index, entries }; }; export { useHistory as default };