useEffect の実例:データ取得
function ProjectList() {
const [projects, setProjects] = useState([]);
const [isLoading, setIsLoading] = useState(true);
useEffect(() => {
const timer = setTimeout(() => {
setProjects(projectsData);
setIsLoading(false);
}, 600);
return () => clearTimeout(timer);
}, []);
if (isLoading) return <Loading />;
return <List items={projects} />;
}
sandbox の useProjects.ts はまさにこの形を実装する演習です。