function withLogging(Component) {
return function WrappedComponent(props) {
useEffect(() => {
console.log(`${Component.name} mounted`);
return () => console.log(`${Component.name} unmounted`);
}, []);
return ;
};
}
const LoggedButton = withLogging(Button);