useEffect(() => console.log('mount') , [] );
useEffect(() => console.log('update'));
useEffect(() => () => console.log('unmount'), []);
 
// effect + cleanup ( mount + unmount )
useEffect(() => {
	const timeout = setTimeout(setVisible, 10, false);
	return () => clearTimeout(timeout);
}, []);