completed 2.8
This commit is contained in:
parent
9753d15002
commit
5b33d34f0a
3 changed files with 18 additions and 4 deletions
|
|
@ -6,6 +6,6 @@ Exercises:
|
||||||
* [X] 2.5
|
* [X] 2.5
|
||||||
* [X] 2.6
|
* [X] 2.6
|
||||||
* [X] 2.7
|
* [X] 2.7
|
||||||
* [ ] 2.8
|
* [X] 2.8
|
||||||
* [ ] 2.9
|
* [ ] 2.9
|
||||||
* [ ] 2.10
|
* [ ] 2.10
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,11 @@ import { useState } from "react";
|
||||||
import PersonList from "./components/PersonList";
|
import PersonList from "./components/PersonList";
|
||||||
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
const [persons, setPersons] = useState([{ name: "Arto Hellas" }]);
|
const [persons, setPersons] = useState([
|
||||||
|
{ name: "Arto Hellas", number: 123 },
|
||||||
|
]);
|
||||||
const [newName, setNewName] = useState("");
|
const [newName, setNewName] = useState("");
|
||||||
|
const [newNumber, setNewNumber] = useState("");
|
||||||
|
|
||||||
const handleOnSubmit = (event) => {
|
const handleOnSubmit = (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
@ -15,13 +18,17 @@ const App = () => {
|
||||||
alert(`${newName} is already in the phonebook.`);
|
alert(`${newName} is already in the phonebook.`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
setPersons(persons.concat({ name: newName }));
|
setPersons(persons.concat({ name: newName, number: newNumber }));
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleNameChange = (event) => {
|
const handleNameChange = (event) => {
|
||||||
setNewName(event.target.value);
|
setNewName(event.target.value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleNumberChange = (event) => {
|
||||||
|
setNewNumber(event.target.value);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<h2>Phonebook</h2>
|
<h2>Phonebook</h2>
|
||||||
|
|
@ -29,6 +36,9 @@ const App = () => {
|
||||||
<div>
|
<div>
|
||||||
name: <input onChange={handleNameChange} />
|
name: <input onChange={handleNameChange} />
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
number: <input onChange={handleNumberChange} />
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button type="submit">add</button>
|
<button type="submit">add</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,11 @@ const PersonList = ({ persons }) => {
|
||||||
<>
|
<>
|
||||||
<ul>
|
<ul>
|
||||||
{persons.map((person) => {
|
{persons.map((person) => {
|
||||||
return <li key={person.name}>{person.name}</li>;
|
return (
|
||||||
|
<li key={person.name}>
|
||||||
|
{person.name} --- {person.number}
|
||||||
|
</li>
|
||||||
|
);
|
||||||
})}
|
})}
|
||||||
</ul>
|
</ul>
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue