completed 2.9
This commit is contained in:
parent
5b33d34f0a
commit
fe840d486f
2 changed files with 21 additions and 5 deletions
|
|
@ -7,5 +7,5 @@ Exercises:
|
||||||
* [X] 2.6
|
* [X] 2.6
|
||||||
* [X] 2.7
|
* [X] 2.7
|
||||||
* [X] 2.8
|
* [X] 2.8
|
||||||
* [ ] 2.9
|
* [X] 2.9
|
||||||
* [ ] 2.10
|
* [ ] 2.10
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ const App = () => {
|
||||||
const [persons, setPersons] = useState([
|
const [persons, setPersons] = useState([
|
||||||
{ name: "Arto Hellas", number: 123 },
|
{ name: "Arto Hellas", number: 123 },
|
||||||
]);
|
]);
|
||||||
|
const [searchString, setSearchString] = useState("");
|
||||||
const [newName, setNewName] = useState("");
|
const [newName, setNewName] = useState("");
|
||||||
const [newNumber, setNewNumber] = useState("");
|
const [newNumber, setNewNumber] = useState("");
|
||||||
|
|
||||||
|
|
@ -19,6 +20,9 @@ const App = () => {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
setPersons(persons.concat({ name: newName, number: newNumber }));
|
setPersons(persons.concat({ name: newName, number: newNumber }));
|
||||||
|
|
||||||
|
setNewName("");
|
||||||
|
setNewNumber("");
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleNameChange = (event) => {
|
const handleNameChange = (event) => {
|
||||||
|
|
@ -29,22 +33,34 @@ const App = () => {
|
||||||
setNewNumber(event.target.value);
|
setNewNumber(event.target.value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleSearchChange = (event) => {
|
||||||
|
setSearchString(event.target.value);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<h2>Phonebook</h2>
|
<h2>Phonebook</h2>
|
||||||
|
<div>
|
||||||
|
search name: <input onChange={handleSearchChange} />
|
||||||
|
</div>
|
||||||
|
<h3>Add new</h3>
|
||||||
<form onSubmit={handleOnSubmit}>
|
<form onSubmit={handleOnSubmit}>
|
||||||
<div>
|
<div>
|
||||||
name: <input onChange={handleNameChange} />
|
name: <input value={newName} onChange={handleNameChange} />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
number: <input onChange={handleNumberChange} />
|
number: <input value={newNumber} onChange={handleNumberChange} />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button type="submit">add</button>
|
<button type="submit">add</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<h2>Numbers</h2>
|
<h3>Numbers</h3>
|
||||||
<PersonList persons={persons} />
|
<PersonList
|
||||||
|
persons={persons.filter((person) =>
|
||||||
|
person.name.toUpperCase().includes(searchString.toUpperCase())
|
||||||
|
)}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue