0

我是 React 新手,今天我使用 React 和 Firebase 来显示、添加和删除数据。我有一些数据获取 Firebase 并显示在卡片中。现在,我想删除一些想要的卡,但我不知道。你能告诉我怎么做吗?也许在右上角创建“X”按钮,单击时将其删除。

在此处输入图像描述

这是代码调用列表

const ProjectList = ({projects}) => {
  return (
    <div className="project-list section">
      { projects && projects.map(project => {
        return (
          <Link to={'/project/' + project.id} key={project.id}>
            <ProjectSummary project={project} />
          </Link>
        )
      })}  
    </div>
  )
}

这是项目摘要

const ProjectSummary = ({project}) => {
  return (
    <div className="card z-depth-0 project-summary">
      <div className="card-content grey-text text-darken-3">
        <span className="card-title ">{project.title}</span>
        <p>Created by {project.authorFirstName} {project.authorLastName} admin</p>
        <p className="grey-text">{moment(project.createdAt.toDate()).calendar()}</p>
      </div>
    </div>
  )
}

和 Firebase 中的结构数据

在此处输入图像描述

4

2 回答 2

0

您可以像这样在 ProjectSummary 列表项中添加一个用于删除的按钮

<button onClick={() => this.removeProject(project.id)}>Delete</button>

Id 将是 firebase 唯一键,例如 ahakhka734hfakh3

然后在回调中我们可以调用 firebase.database() 的 remove 方法,像这样从页面中删除它。

removeProject(projectId) {
  const projectRef= firebase.database().ref(`/projects/${projectId}`);
  projectRef.remove();
}
于 2018-09-17T06:48:14.360 回答
0

它应该是这样的:

<button onClick={() => this.removeProject(project.id)}>Delete</button>

   removeProject(id) {
     firebase.delete({ collection: 'project', doc:`${id}` }).then((response) => {
        console.log('delete response', response)
     }).catch((error) => {
       console.log('delete error', error)
    })
  }
于 2020-04-22T23:45:07.310 回答