B. The paragraph shows 'Hello, Hi!' as user types 'Hi'
C. The paragraph remains empty regardless of input
D. The input clears automatically after typing
Solution
Step 1: Understand controlled input behavior
The input value is controlled by state variable 'name' which updates on change.
Step 2: Observe paragraph rendering with state
The paragraph displays 'Hello, {name}!' so it updates live as 'name' changes.
Final Answer:
The paragraph shows 'Hello, Hi!' as user types 'Hi' -> Option B
Quick Check:
Controlled input updates state and display = D [OK]
Hint: Controlled inputs update state and display live [OK]
Common Mistakes:
Expecting input to clear automatically
Thinking paragraph won't update
Assuming page reloads on input change
4. Identify the error in this React form submission handler:
function handleSubmit(e) {
alert('Submitted');
}
What is missing to prevent the page from reloading on submit?
medium
A. Call e.preventDefault() inside handleSubmit
B. Use return false at the end of handleSubmit
C. Wrap alert in a setTimeout function
D. No error, the code works fine
Solution
Step 1: Understand default form submit behavior
By default, form submission reloads the page unless prevented.
Step 2: Prevent default reload in React
Calling e.preventDefault() inside the submit handler stops the reload.
Final Answer:
Call e.preventDefault() inside handleSubmit -> Option A
Quick Check:
Use e.preventDefault() to stop reload [OK]
Hint: Always call e.preventDefault() in submit handlers [OK]
Common Mistakes:
Forgetting to pass event parameter e
Using return false instead of preventDefault
Assuming alert stops reload
5. You want to handle multiple input fields in one React form using a single state object. Which code snippet correctly updates the state for the changed input field?
const [formData, setFormData] = React.useState({ email: '', password: '' });
function handleChange(e) {
// What goes here?
}
hard
A. setFormData({ e.target.name: e.target.value });
B. setFormData({ formData[e.target.name]: e.target.value });
C. setFormData({ ...formData, [e.target.name]: e.target.value });
D. setFormData({ [e.target.value]: e.target.name });
Solution
Step 1: Understand updating nested state objects
To update one field in an object state, copy existing fields with spread operator.
Step 2: Use computed property name for dynamic key
Use [e.target.name] to dynamically update the correct field with new value.
Final Answer:
setFormData({ ...formData, [e.target.name]: e.target.value }); -> Option C
Quick Check:
Spread old state + dynamic key update = B [OK]
Hint: Use spread and [e.target.name] to update form object state [OK]
Common Mistakes:
Overwriting entire state without spreading
Using invalid object key syntax
Swapping name and value in update
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.