Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/Savy011/fullstackopen-exercises. My Exercise Submissions for FullStack Open fullstackopen.com/en
Something went wrong. Try again.
1.4 kB · 51 lines
JavaScript
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import { useResource, useField } from "./hooks"
const App = () => { const content = useField('text') const name = useField('text') const number = useField('text')
const [notes, noteService] = useResource('http://localhost:3005/notes') const [persons, personService] = useResource('http://localhost:3005/persons')
const handleNoteSubmit = (event) => { event.preventDefault() noteService.create({ content: content.value }) content.reset() } const handlePersonSubmit = (event) => { event.preventDefault() personService.create({ name: name.value, number: number.value}) name.reset() number.reset() }
const removeReset = obj => { const { reset, ...retObj } = obj return retObj }
return ( <div> <h2>notes</h2> <form onSubmit={handleNoteSubmit}> <input { ...removeReset(content) } /> <button>Create</button> </form> <ul> {notes.map(n => <li key={n.id}>{n.content}</li>)} </ul>
<h2>persons</h2> <form onSubmit={handlePersonSubmit}> Name: <input { ...removeReset(name) } /> <br/> Number: <input { ...removeReset(number) } /> <button>Create</button> </form> {persons.map(n => <p key={n.id}>{n.name} {n.number}</p>)} </div> )}
export default App