Loading Page Timer
Вариант 1
"use client";
import { useEffect, useState } from "react";
export default function Loading() { const [dataReady, setDataReady] = useState(true);
useEffect(() => { setTimeout(() => { setDataReady(false); }, 500); }, []);
return ( <> {dataReady && ( <div className="fixed inset-0 z-[9999] flex items-center justify-center bg-background"> <p>Loading ..</p> </div> )} </> );}
Вариант 2
"use client";
import { useEffect, useState } from 'react';
export default function Home() { // ##. variable to control display // ##. after data is fetched and ready const [dataReady, setDataReady] = useState(false);
useEffect(()=>{ // ##. This is to simulate an API data fetch call setTimeout(()=>{ setDataReady(true) },3000); },[]);
// ## Loading will be show until data is ready if(!dataReady) return(<><p>Loading ..</p></>)
return ( <> <h2> Page ready !! </h2> { dataReady && <h3> Data is ready </h3> } </> )}