React patterns — always apply error boundaries, loading states, accessible markup, proper hooks, controlled forms, stable keys, and correct memoization
87
80%
Does it follow best practices?
Impact
99%
1.83xAverage score across 5 eval scenarios
Passed
No known issues
Build a user profile edit form in React with TypeScript. The form lets users update their name, email address, and bio. It receives the current profile data as a prop and calls an onSave callback with the updated data.
The onSave callback is async and returns a Promise (simulating an API call). While saving, the form should indicate that submission is in progress.
Produce TypeScript/TSX files in a src/ directory:
src/types.ts -- TypeScript type definitions for the profile data and component propssrc/components/ProfileForm.tsx -- the profile edit form componentThe component receives props: profile: Profile (current data) and onSave: (data: Profile) => Promise<void>. Do not include test files or build configuration.