parent
f841ad9d23
commit
5b3283e760
@ -0,0 +1,128 @@
|
||||
class App extends React.Component {
|
||||
state = {
|
||||
people:[]
|
||||
}
|
||||
|
||||
componentDidMount = () => {
|
||||
axios.get('/people').then(
|
||||
(response) => {
|
||||
this.setState({
|
||||
people:response.data
|
||||
})
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
createPerson = (event) => {
|
||||
event.preventDefault();
|
||||
axios.post(
|
||||
'/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('/people/' + event.target.value).then(
|
||||
(response) => {
|
||||
this.setState({
|
||||
people:response.data
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
updatePerson = (event) => {
|
||||
event.preventDefault();
|
||||
const id = event.target.getAttribute('id');
|
||||
axios.put(
|
||||
'/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 <div>
|
||||
<h2>Create Person</h2>
|
||||
<form onSubmit={this.createPerson}>
|
||||
<input onKeyUp={this.changeNewPersonName} type="text" placeholder="name" /><br/>
|
||||
<input onKeyUp={this.changeNewPersonAge} type="number" placeholder="age" /><br/>
|
||||
<input type="submit" value="Create Person" />
|
||||
</form>
|
||||
<h2>List of People</h2>
|
||||
<ul>
|
||||
{
|
||||
this.state.people.map(
|
||||
(person, index) => {
|
||||
return <li key={index}>
|
||||
|
||||
{person.name}: {person.age}
|
||||
|
||||
<button value={person.id} onClick={this.deletePerson}>DELETE</button>
|
||||
|
||||
<form id={person.id} onSubmit={this.updatePerson}>
|
||||
<input onKeyUp={this.changeUpdatePersonName} type="text" placeholder="name"/><br/>
|
||||
<input onKeyUp={this.changeUpdatePersonAge} type="number" placeholder="age"/><br/>
|
||||
<input type="submit" value="Update Person"/>
|
||||
</form>
|
||||
</li>
|
||||
}
|
||||
)
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
ReactDOM.render(
|
||||
<App></App>,
|
||||
document.querySelector('main')
|
||||
)
|
||||
@ -1 +0,0 @@
|
||||
alert('hi')
|
||||
Loading…
Reference in new issue