Kentavr16
@Kentavr16
long cold winter

Как правильно составить delete запрос?

в процессе обучения делаю сайт - тудушку. вот код:
роуты экспресса:
var express = require('express');
var router = express.Router();
var bodyParser = require('body-parser');
const Task = require('../models/Task');

// return all tasks
router.get('/getTask', function(req, res) {
    Task.find({}, function(error,data){
        if(error){
            console.log(error)
        }
        res.send(data)
    })
})

//create new task
router.post('/newTask', function(req,res){
    if(!req.body) return res.sendStatus(400);
    var a = new Date();
    var mydate = a.toLocaleString();
    Task.create({
        description:req.body.description,
        task:req.body.task,
        addDate: mydate
    },
    function(err){
        if(err)
        res.send(err);
    })
    res.send("Task has been created")
})

module.exports = router


элемент реакта для отображения полученной с бд информации:
import React from 'react'
import axios from "axios"

class LoadTask extends React.Component{
    constructor(props) {
        super(props);
        this.state = {items:[],
            key : 0,

        };
        
    }

    



    async componentDidMount() {
        try {axios.get('http://localhost:5000/api/getTask')
        .then(response => this.setState({items: Object.values(response.data)}));} 
        catch ( error ) {
            console.log(error)
        }; 
    }

    
    render() {

        
    

    return(
        <div className="loadTaskWrap">
            <p>Здесь ты можешь просмотреть существующие таски:</p>
            <div className="desP">
                <div>{this.state.items.map((item) =>
                (<div key={item.description} className='styleTask' >
                    <p className="stDesk" >{item.description}:</p>
                    <div>{item.task}
                    </div>
                    <div>{item.addDate}</div>
                <button>Удалить задачу</button>
                <button>Отметить как выполненную</button>
                </div>))}</div>
            </div>
        </div>
    )
}


}

export default LoadTask


Меня настиг ступор - как в моем случае грамотно реализовать удаление моего таска по нажатию на кнопку "удалить задачу"? Заранее спасибо!
  • Вопрос задан
  • 199 просмотров
Решения вопроса 1
mmmaaak
@mmmaaak
1) запрос на бэк с айдишником удаляемого элемента
2) на бэке удаляешь элемент из бд по айди
3) отправляешь ответ с результатом операции, если удаление прошло успешно - удаляешь элемент из списка на фронте, если нет - показываешь ошибку
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы