所以我在反应中得到了这段代码
getDocuments: function(){
if(this.state.documents.length == 0){
return(<div>Vous navez aucument document pour le moment</div>);
} else {
var documentsData = this.state.documents.map(function(doc) {
return (
<Row md={12} key={doc.document_id}>
<Col md={3} xs={4}>
<label>Titre du document : {doc.title}</label>
</Col>
<Col md={3} xs={4}>
<label>Ajouté le : {moment(doc.upload_date).format("L")}</label>
<Form.Button type='button' onClick={ this.deleteDocument(doc.document_id)} className="btn btn-danger btn-sm">X</Form.Button>
</Col>
</Row>
);
});
return documentsData;
谁应该呈现HTML,显示存储在this.state.documents
地图中的一些信息。在我onClick
上添加Form.Button
事件之前,它的效果非常好。
这是我的deleteDocument函数:
deleteDocument:function(doc_id){
request.post('/documents/delete/'+this.props.requestID+'/'+doc_id).set('Accept', 'application/json').end(function(err, res) {
if (res.body.result) {
window.location.href = '/request/edit';
} else {
this.setState({'cannotUpdateRequest':true});
}
}.bind(this));
},
这应该只是在预定义的路由上发出一个请求,它将处理删除文档的后端逻辑,但是控制台正在给我这个错误:Uncaught TypeError: Cannot read property 'deleteDocument' of undefined
。
任何想法有什么不对?