2.6 completed

This commit is contained in:
counterweight 2025-05-25 00:00:13 +02:00
parent bf5fc1431d
commit 6d81165900
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
4 changed files with 2625 additions and 5 deletions

View file

@ -4,8 +4,7 @@ Exercises:
* [X] 2.3 * [X] 2.3
* [X] 2.4 * [X] 2.4
* [X] 2.5 * [X] 2.5
* [ ] 2.5 * [X] 2.6
* [ ] 2.6
* [ ] 2.7 * [ ] 2.7
* [ ] 2.8 * [ ] 2.8
* [ ] 2.9 * [ ] 2.9

2595
parts/2/phoneBook/package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,22 +1,32 @@
import { useState } from "react"; import { useState } from "react";
import PersonList from "./components/PersonList";
const App = () => { const App = () => {
const [persons, setPersons] = useState([{ name: "Arto Hellas" }]); const [persons, setPersons] = useState([{ name: "Arto Hellas" }]);
const [newName, setNewName] = useState(""); const [newName, setNewName] = useState("");
const handleOnSubmit = (event) => {
event.preventDefault();
setPersons(persons.concat({ name: [newName] }));
};
const handleNameChange = (event) => {
setNewName(event.target.value);
};
return ( return (
<div> <div>
<h2>Phonebook</h2> <h2>Phonebook</h2>
<form> <form onSubmit={handleOnSubmit}>
<div> <div>
name: <input /> name: <input onChange={handleNameChange} />
</div> </div>
<div> <div>
<button type="submit">add</button> <button type="submit">add</button>
</div> </div>
</form> </form>
<h2>Numbers</h2> <h2>Numbers</h2>
... <PersonList persons={persons} />
</div> </div>
); );
}; };

View file

@ -0,0 +1,16 @@
const PersonList = ({ persons }) => {
console.log("the list");
console.log(persons);
return (
<>
<ul>
{persons.map((person) => {
return <li id={person.name}>{person.name}</li>;
})}
</ul>
</>
);
};
export default PersonList;