Me he enfrentado a un problema al eliminar el precargador de la página sin problemas. Al principio pensé en cambiar la variable de content y mostrarla en la página, pero el precargador desapareció demasiado rápido. He creado la clase .closed hay opacity: 0; pero no funciona Gracias por la ayuda!
const App = () => { const [loading, setLoading] = useState(true); useEffect(() => { setTimeout(() => { setLoading(false); }, 5000); }); const content = loading ? <Preloader/> : <h1>Hello world!</h1> return ( <div className='app'> {content} </div> ); }En este caso, intente agregar una matriz de dep vacía a su useEffect y límpiela después de que haya terminado con una declaración de devolución. Prueba algo como esto.
useEffect(() => { const timer = setTimeout(() => { setLoading(false) }, 5000); return () => clearTimeout(timer); }, []);De esta manera, setTimeout solo se llama una vez en el primer renderizado.