react增删改查

react增删改查

import React, { Component } from 'react'
import axios from 'axios'
export default class List extends Component {
    constructor() {
        super()
        this.state = {
            list: [],
            username: "",
            age: ""
        }
    }
    componentDidMount() {
        this.find()
    }
    handleChange = e => {
        this.setState({
            [e.target.id]: e.target.value
        })
    }
    find = () => {
        axios.get("http://localhost:3001/list").then(res => {
            this.setState({
                list: res.data
            })
        })
    }
    add = () => {
        axios.post("http://localhost:3001/list", {
            username: this.state.username,
            age: this.state.age
        }).then(res => {
            this.find()
        })
    }
    del = (id) => {
        axios.delete("http://localhost:3001/list/" + id).then(res => {
            this.find()
        })
    }
    update = (item) => {
        let value =  prompt("请输入修改内容..",item.username+","+item.age)
        if(value){
            var arr = value.split(",")
            //派发 patch请求
            axios.patch("http://localhost:3001/list/"+item.id,{
                username:arr[0],
                age:arr[1]
            }).then(res=>{
                this.find()
            })
        }
    }
    select = () => {
        axios.get("http://localhost:3001/list?username_like=" + this.state.username).then(res => {
            console.log(res)
            this.setState({
                list: res.data
            })
        })
    }
    render() {
        let { list, username, age } = this.state
        return (
            <div>
                <label>用户名:<input ></input></label>
                <label>年龄:<input ></input></label>
                <button onClick={this.add}>添加</button>
                <button onClick={this.select}>查询</button>
                <ul>
                    {
                        list.map((item, index) => {
                            return <li key={index}>{item.username}---{item.age}
                                <button onClick={this.del.bind(this, item.id)}>删除</button>
                                <button onClick={this.update.bind(this, item)}>修改</button>
                            </li>
                        })
                    }
                </ul>
            </div>
        )
    }
}