refactored into componenets, completed 2.1

This commit is contained in:
counterweight 2025-05-25 12:11:55 +02:00
parent 6ae16c9b9a
commit fd47e32489
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C

View file

@ -9,6 +9,30 @@ const SearchArea = ({ onChangeHandler }) => {
); );
}; };
const AddPersonForm = ({
onSubmitHandler,
onNameChangeHandler,
nameValue,
onNumberChangeHandler,
numberValue,
}) => {
return (
<>
<form onSubmit={onSubmitHandler}>
<div>
name: <input value={nameValue} onChange={onNameChangeHandler} />
</div>
<div>
number: <input value={numberValue} onChange={onNumberChangeHandler} />
</div>
<div>
<button type="submit">add</button>
</div>
</form>
</>
);
};
const App = () => { const App = () => {
const [persons, setPersons] = useState([ const [persons, setPersons] = useState([
{ name: "Arto Hellas", number: 123 }, { name: "Arto Hellas", number: 123 },
@ -50,17 +74,13 @@ const App = () => {
<h2>Phonebook</h2> <h2>Phonebook</h2>
<SearchArea onChangeHandler={handleSearchChange} /> <SearchArea onChangeHandler={handleSearchChange} />
<h3>Add new</h3> <h3>Add new</h3>
<form onSubmit={handleOnSubmit}> <AddPersonForm
<div> onSubmitHandler={handleOnSubmit}
name: <input value={newName} onChange={handleNameChange} /> onNameChangeHandler={handleNameChange}
</div> nameValue={newName}
<div> onNumberChangeHandler={handleNumberChange}
number: <input value={newNumber} onChange={handleNumberChange} /> numberValue={newNumber}
</div> />
<div>
<button type="submit">add</button>
</div>
</form>
<h3>Numbers</h3> <h3>Numbers</h3>
<PersonList <PersonList
persons={persons.filter((person) => persons={persons.filter((person) =>