react-concurrent-router
Version:
Performant routing embracing React concurrent UI patterns
34 lines (30 loc) • 669 B
JavaScript
;
var React = require('react');
var RouterContext = require('./RouterContext-BCgWDPs4.js');
const useHistory = () => {
const {
history: {
length,
location,
action,
index,
entries
},
subscribe
} = React.useContext(RouterContext.RouterContext);
const [lastUpdate, setLastUpdate] = React.useState(new Date().getTime());
React.useEffect(() => {
const dispose = subscribe(async () => {
setTimeout(() => setLastUpdate(new Date().getTime()), 1);
});
return () => dispose();
}, []);
return {
length,
location,
action,
index,
entries
};
};
module.exports = useHistory;