fullstackopen-notes/parts/2/phoneBook/src/App.jsx

35 lines
786 B
React
Raw Normal View History

2025-05-24 23:43:23 +02:00
import { useState } from "react";
2025-05-25 00:00:13 +02:00
import PersonList from "./components/PersonList";
2025-05-24 23:43:23 +02:00
const App = () => {
const [persons, setPersons] = useState([{ name: "Arto Hellas" }]);
const [newName, setNewName] = useState("");
2025-05-25 00:00:13 +02:00
const handleOnSubmit = (event) => {
event.preventDefault();
setPersons(persons.concat({ name: [newName] }));
};
const handleNameChange = (event) => {
setNewName(event.target.value);
};
2025-05-24 23:43:23 +02:00
return (
<div>
<h2>Phonebook</h2>
2025-05-25 00:00:13 +02:00
<form onSubmit={handleOnSubmit}>
2025-05-24 23:43:23 +02:00
<div>
2025-05-25 00:00:13 +02:00
name: <input onChange={handleNameChange} />
2025-05-24 23:43:23 +02:00
</div>
<div>
<button type="submit">add</button>
</div>
</form>
<h2>Numbers</h2>
2025-05-25 00:00:13 +02:00
<PersonList persons={persons} />
2025-05-24 23:43:23 +02:00
</div>
);
};
export default App;