When it comes to inputs, there are two types of them, "uncontrolled" and "controlled" inputs.
The inputs on the Login/Signup components were uncontrolled, that means that they owned their own state, or more specifically they own their own value.
In practical terms, an uncontrolled component is one whose value is changed exclusively by the user interacting with it.
You can still set the initial state of an uncontrolled component with defaultValue (and defaultChecked).
A controlled component is one that does not own its state, but rather its state is controlled by the component that rendered it.