ahooks
Version:
react hooks library
19 lines (18 loc) • 527 B
JavaScript
import { useEffect, useRef } from 'react';
import useUnmount from '../useUnmount';
import isBrowser from '../utils/isBrowser';
const DEFAULT_OPTIONS = {
restoreOnUnmount: false,
};
function useTitle(title, options = DEFAULT_OPTIONS) {
const titleRef = useRef(isBrowser ? document.title : '');
useEffect(() => {
document.title = title;
}, [title]);
useUnmount(() => {
if (options.restoreOnUnmount) {
document.title = titleRef.current;
}
});
}
export default useTitle;