可以通过以下步骤实现:
const [projects, setProjects] = useState([]);
useEffect(() => {
// 从后端API获取项目数据
fetchProjects()
.then((data) => {
setProjects(data);
})
.catch((error) => {
console.error('Error fetching projects', error);
});
}, []);
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Action</th>
</tr>
</thead>
<tbody>
{projects.map((project) => (
<tr key={project.id}>
<td>{project.id}</td>
<td>{project.name}</td>
<td>
<button onClick={() => handleDelete(project.id)}>Delete</button>
</td>
</tr>
))}
</tbody>
</table>
const handleDelete = (projectId) => {
deleteProject(projectId)
.then(() => {
// 删除成功后重新加载项目数据
fetchProjects()
.then((data) => {
setProjects(data);
})
.catch((error) => {
console.error('Error fetching projects', error);
});
})
.catch((error) => {
console.error('Error deleting project', error);
});
};
const fetchProjects = () => {
// 使用适当的方法和API获取项目数据
return fetch('/api/projects')
.then((response) => response.json())
.catch((error) => {
console.error('Error fetching projects', error);
});
};
const deleteProject = (projectId) => {
// 使用适当的方法和API删除项目
return fetch(`/api/projects/${projectId}`, { method: 'DELETE' })
.catch((error) => {
console.error('Error deleting project', error);
});
};
这样,当用户点击删除按钮后,会发送删除请求到后端API,并在成功删除后重新加载表中的项目数据,实现了使用React从表中删除项目后重新加载表的功能。
注意:以上示例代码仅为演示用途,实际应用中需要根据具体情况进行适当的修改和优化。对于腾讯云相关产品的推荐和产品介绍链接,可以根据实际需求和使用情况进行选择和配置。
领取专属 10元无门槛券
手把手带您无忧上云