useActionState in React
React interview exercise on React 19, difficulty 2 of 3. Solve it in the editor beside a worked example; the tests run the moment you do.
Write SignupForm({ signUp }): an <input name="email"> and a submit button inside a form driven by useActionState. The action calls signUp(email), which resolves to { ok: true } or { ok: false, error }. While it runs the button is disabled and <p className="status"> reads "Signing up…"; afterwards the status reads "Welcome, <email>!" or the error.
Each exercise pairs a worked example with a twin problem to solve in a real editor; the tests run the moment you do. Progress is saved in your browser, and in your account if you sign in.