I'm new to reactjs with ES6, the problem is that I can not read the 'this.props.productId' property inside the onDelete () function, this is the error: DeleteProductComponent.js:15 Uncaught TypeError: Cannot read property 'props' of null
can anyone give me an optimum solution or tell me what I'm doing wrong? Thank you
import React, { Component } from 'react';
class DeleteProductComponent extends Component {
componentDidMount() {
$('.page-header h1').text('Delete Product');
}
onDelete(){
var id = this.props.productId;
$.ajax({
url: "http://localhost/my-app/public/delete.php",
type : "POST",
contentType : 'application/json',
data : JSON.stringify({'id' : id}),
success : function(response) {
this.props.changeAppMode('read');
}.bind(this),
error: function(xhr, resp, text){
// show error in console
console.log(xhr, resp, text);
}
});
}
// handle save changes button here
// handle save changes button clicked
render () {
return (
<div className='row'>
<div className='col-md-3'></div>
<div className='col-md-6'>
<div className='panel panel-default'>
<div className='panel-body text-align-center'>Are you sure?</div>
<div className='panel-footer clearfix'>
<div className='text-align-center'>
<button onClick={this.onDelete}
className='btn btn-danger m-r-1em'>Yes</button>
<button onClick={() => this.props.changeAppMode('read')}
className='btn btn-primary'>No</button>
</div>
</div>
</div>
</div>
<div className='col-md-3'></div>
</div>
);
}
}
export default DeleteProductComponent;