从SQL中进行React删除



我正在开发一个与SQL数据库通信的小型桌面应用程序。当我打开应用程序时,我会得到数据库中注册的所有学生的列表。当我点击一个特定的学生时,我会得到更多关于他们的信息,我可以编辑他们的信息。我还试着添加了一个删除按钮,但这是我需要帮助的地方。代码如下:

class Students1Details extends Component {
student1 = null
program = []
render() {
if (!this.student1) return null
return (
<ul>
<li>Name: <input 
value={this.student1.name}
onChange={(event) => {
this.student1.name = event.currentTarget.value;}}></input>
</li>
<li>Email: <input value={this.student1.email}
onChange={(event) => {
this.student1.email = event.currentTarget.value}}></input>
</li>
<li>Program:  <input value={this.program}
onChange={(event) => {
this.program = event.currentTarget.value
}}></input></li>
<button onClick={() => {
studentService.updateStudent(this.student1, () => {
Students1Details.instance().mounted()
})
}} >Update</button>
<button id="hei" onClick={() => {
studentService.deleteStudent(this.student1, () => {})
}}>Delete</button>
</ul>
)
}
mounted() {
studentService.getStudent(this.props.match.params.id, (student1) => {
this.student1 = student1
studyProgramService.getStudyProgram(this.student1.studyProgramId, (program) => 
(this.program = program.name))

studentService.deleteStudent(this.props.match.params.id, (student1) => {
this.student1 = student1 
})

})
}

}

deleteStudent函数如下所示:

deleteStudent(id, success) {
pool.query("DELETE FROM Students WHERE id = ?", [id], (error, results) => {
if (error) console.error(error)
success(results)
})

}

我遇到的问题是,只要我点击学生的名字,它就会从数据库中删除,而不是发送到我看到学生信息的页面,并且可以编辑或删除他/她。

看起来您正在mounted((中调用deleteStudent。这可能是你的问题。

最新更新