From 0a53877f5d13054b1d0baa4c2120b50673c534bd Mon Sep 17 00:00:00 2001 From: Ibrahim Mkusa Date: Sun, 30 Apr 2023 11:12:33 -0400 Subject: ex2.6 phonebook base --- part2/phonebook/src/App.js | 53 ++++++++++++++++++++++++++++++++++++++++++++ part2/phonebook/src/index.js | 10 +++++++++ 2 files changed, 63 insertions(+) create mode 100644 part2/phonebook/src/App.js create mode 100644 part2/phonebook/src/index.js (limited to 'part2/phonebook/src') diff --git a/part2/phonebook/src/App.js b/part2/phonebook/src/App.js new file mode 100644 index 0000000..2e430f9 --- /dev/null +++ b/part2/phonebook/src/App.js @@ -0,0 +1,53 @@ +import { useState } from 'react' + +const ShowPerson = (props) => { + const persons = props.persons + return ( +
    + {persons.map( (person) => { + return (
  1. {person.name}
  2. ) + } )} +
+ ) +} + +const App = () => { + const [persons, setPersons] = useState([ + { name: 'Arto Hellas' } + ]) + const [newName, setNewName] = useState('') + + const addNumber = (event) => { + event.preventDefault() + console.log(newName, persons) + const newPerson = { + name: newName, + id: persons.length + 1, + } + setPersons(persons.concat(newPerson)) + } + + const handleTypedName = (event) => { + console.log(event.target.value) + setNewName(event.target.value) + console.log(newName) + } + + return ( +
+

Phonebook

+
+
+ name: +
+
+ +
+
+

Numbers

+ +
+ ) +} + +export default App diff --git a/part2/phonebook/src/index.js b/part2/phonebook/src/index.js new file mode 100644 index 0000000..68a05ff --- /dev/null +++ b/part2/phonebook/src/index.js @@ -0,0 +1,10 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import App from './App'; + + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render( + +) + -- cgit v1.2.3