axios 在react js中,当从列表中删除一个项目时,它会一直保留,直到我重新加载页面

luaexgnf  于 2023-11-18  发布在  iOS
关注(0)|答案(1)|浏览(123)

在react js中,我使用JSON服务器来获取数据,当我删除一个项目时,它会一直保留在列表中,直到我重新加载页面删除功能正常工作,它会从db.json中删除,但需要重新加载页面才能工作,然后我添加了一个过滤器到setdata,所以请告诉我有什么问题?

import axios from 'axios'
import React, { useState, useEffect } from 'react'

import UserList from './UserList'

const URL = 'http://localhost:8000/user'

function App() {
  const [user, setUser] = useState(null)
  useEffect(() => {
    axios.get(URL).then(response => {
      setUser(response.data)
    })
  }, [])

  const deleteUser = id => {
    axios
      .delete(`${URL}/${id}`)
       .then(() => {
        console.log(' deleted id is:', id)
       
      })
  }

  if (!user) return null

  return (
    <div className="app">
      <UserList user={user} deleteUser={deleteUser} />
    </div>
  )
}

export default App

字符串

yhuiod9q

yhuiod9q1#

第二个then块中的代码不会执行。

const deleteUser = async (id) => {
  await axios.delete(`${URL}/${id}`);

  // delete the user
  setUser(users => users.filter((u) => u.id !== id));
};

字符串

相关问题