// src/App.jsx import { useEffect, useState } from "react"; // Simulates a slow network so the race condition is actually visible. function fakeFetchUser(id) { const delay = id === "1" ? 1500 : 200; // id "1" resolves much slower return new Promise((resolve) => { setTimeout(() => resolve({ id, name: `User ${id}` }), delay); }); } function UserDisplay({ userId }) { const [user, setUser] = useState(null); useEffect(() => { let ignore = false; async function loadUser() { const data = await fakeFetchUser(userId); if (!ignore) { setUser(data); } } loadUser(); return () => { ignore = true; }; }, [userId]); return
{user ? user.name : "Loading..."}
; } function App() { const [userId, setUserId] = useState("1"); return (