Javascript 为什么axios没有';不从我的变量中删除元素吗?

Javascript 为什么axios没有';不从我的变量中删除元素吗?,javascript,axios,Javascript,Axios,我想删除待办事项列表中所有已完成的任务。 在代码中,我将所有已完成的任务分配给变量“completed”。接下来,我想使用axios从服务器上删除已完成的任务 removeItems = (event) => { event.preventDefault(); let completed = []; this.setState(prevState => { return { todos: prevState.todos.

我想删除待办事项列表中所有已完成的任务。 在代码中,我将所有已完成的任务分配给变量“completed”。接下来,我想使用axios从服务器上删除已完成的任务

removeItems = (event) => {
    event.preventDefault();
    let completed = [];
    this.setState(prevState => {
        return {
            todos: prevState.todos.filter(todo => {
                if (todo.completed == true) {
                    completed.push(todo)
                }
                return !todo.completed;
            })
        }
    })
    console.log(completed);
    const remove = completed.map(async (todo) => {
        await Axios.delete(`http://localhost:8000/todoes_destroy/{id}/`)
    })
}

我更改了代码,现在它可以工作了。这就是解决办法

removeItems = async (event) => {
               event.preventDefault();
               const completed = this.state.todos.filter(todo => {
                   return todo.completed
               });

               const remove = completed.map( async (todo) => {
                       console.log(todo);
                       await Axios.delete(`http://localhost:8000/todoes_destroy/${todo.id}/`)
                   }
               )

                const {data} = await Axios.get('http://127.0.0.1:8000/todoes_read/', {
                 })
                this.setState({todos : data})

    }

我更改了代码,现在它可以工作了。这就是解决办法

removeItems = async (event) => {
               event.preventDefault();
               const completed = this.state.todos.filter(todo => {
                   return todo.completed
               });

               const remove = completed.map( async (todo) => {
                       console.log(todo);
                       await Axios.delete(`http://localhost:8000/todoes_destroy/${todo.id}/`)
                   }
               )

                const {data} = await Axios.get('http://127.0.0.1:8000/todoes_read/', {
                 })
                this.setState({todos : data})

    }

看起来您的url没有正确插入。你错过了{id}之前的$。等待Axios。删除(
http://localhost:8000/todoes_destroy/${id}
)谢谢,我在{id}之前添加了$。但是现在我可以看到消息“'id'未定义no undef”:/I将${id}更改为${todo.id},因此没有错误消息“'id'未定义no undef”。但它仍然不起作用。你看过服务器端了吗?是否记录了任何内容?看起来您的url没有正确插入。你错过了{id}之前的$。等待Axios。删除(
http://localhost:8000/todoes_destroy/${id}
)谢谢,我在{id}之前添加了$。但是现在我可以看到消息“'id'未定义no undef”:/I将${id}更改为${todo.id},因此没有错误消息“'id'未定义no undef”。但它仍然不起作用。你看过服务器端了吗?有什么记录吗?