← 문제 목록
고급
React
100P
useEffect 경쟁 상태(race condition)
빠르게 다른 사용자를 선택하면 이전 사용자의 데이터가 늦게 도착하여 잘못 표시됩니다. 버그를 찾으세요:
JSX
function UserProfile({ userId }) {
const [user, setUser] = useState(null);
useEffect(() => {
let cancelled = false;
fetch(`/api/users/${userId}`)
.then(res => res.json())
.then(data => {
setUser(data);
});
return () => {
cancelled = true;
};
}, [userId]);
return user ? <h1>{user.name}</h1> : <p>로딩중...</p>;
}
0명 풀이 · 정답률 0%