ahooks
Version:
react hooks library
20 lines (19 loc) • 611 B
JavaScript
import { useEffect } from 'react';
import { isFunction, isThenable } from '../utils';
import isDev from '../utils/isDev';
const useMount = (fn) => {
if (isDev) {
if (!isFunction(fn)) {
console.error(`useMount: parameter \`fn\` expected to be a function, but got "${typeof fn}".`);
}
}
useEffect(() => {
const result = fn === null || fn === void 0 ? void 0 : fn();
// If fn returns a Promise, don't return it as cleanup function
if (isThenable(result)) {
return;
}
return result;
}, []);
};
export default useMount;