From 57179682ae7a385f706a2d7fd2f93ee727286f38 Mon Sep 17 00:00:00 2001 From: Matt Huntington Date: Fri, 9 Oct 2020 17:16:03 -0400 Subject: [PATCH] react --- public/app.js | 128 ++++++++++++++++++++++++++++++++++++++++++++++ public/index.html | 16 ++++++ 2 files changed, 144 insertions(+) create mode 100644 public/app.js create mode 100644 public/index.html diff --git a/public/app.js b/public/app.js new file mode 100644 index 0000000..ee8bb7e --- /dev/null +++ b/public/app.js @@ -0,0 +1,128 @@ +class App extends React.Component { + state = { + people:[] + } + + componentDidMount = () => { + axios.get('/api/people').then( + (response) => { + this.setState({ + people:response.data + }) + } + ) + } + + createPerson = (event) => { + event.preventDefault(); + axios.post( + '/api/people', + { + name:this.state.newPersonName, + age:this.state.newPersonAge, + } + ).then( + (response) => { + this.setState({ + people:response.data + }) + } + ) + } + + changeNewPersonAge = (event) => { + this.setState({ + newPersonAge:event.target.value + }); + } + + changeNewPersonName = (event) => { + this.setState({ + newPersonName:event.target.value + }); + } + + deletePerson = (event) => { + axios.delete('/api/people/' + event.target.value).then( + (response) => { + this.setState({ + people:response.data + }) + } + ) + + } + + updatePerson = (event) => { + event.preventDefault(); + const id = event.target.getAttribute('id'); + axios.put( + '/api/people/' + id, + { + name:this.state.updatePersonName, + age:this.state.updatePersonAge, + } + ).then( + (response) => { + this.setState({ + people:response.data, + name:'', + age:null, + }) + } + ) + } + + changeUpdatePersonName = (event) => { + this.setState( + { + updatePersonName:event.target.value + } + ) + } + + changeUpdatePersonAge = (event) => { + this.setState( + { + updatePersonAge:event.target.value + } + ) + } + + render = () => { + return
+

Create Person

+
+
+
+ +
+

List of People

+ +
+ } +} + +ReactDOM.render( + , + document.querySelector('main') +) diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..5569382 --- /dev/null +++ b/public/index.html @@ -0,0 +1,16 @@ + + + + + + + + + + + + +

People CRUD App

+
+ +