import { useEffect, useState } from 'react'; export type User = { id: string; name: string }; export function UserProfile({ userId, fetchUser, }: { userId: string; fetchUser: (id: string) => Promise<User>; }) { // TODO: data, loading, error 상태를 useState로 만드세요 // TODO: useEffect에서 userId가 바뀔 때마다 fetchUser(userId) 호출 // - 시작 시 loading=true, error=null // - 성공 시 data 저장, loading=false // - 실패 시 error 저장, loading=false // TODO: loading이면 <div role="status">Loading...</div> // error면 <div role="alert">에러가 발생했습니다</div> // data가 있으면 <div data-testid="name">{data.name}</div> return null; }
Tests