I have a function in my React code defined like this:
getAttachment(url) {
fetch(url).then((responseText) => {
var response = responseText.js
This has because you have a different scope inside the function. When using a function it has it's own scope. And "this" used out side the function is not the same when you use it inside the function. The best way of doing this is having a variable "that" and assign the previous "this" to "that".
class Hello extends React.Component {
constructor(props) {
super(props);
this.getAttachment = this.getAttachment.bind(this);
this.state = {attachmenet: ""};
}
getAttachment(url) {
//Code you need to add
var that = this;
fetch(url).then((responseText) => {
var response = responseText.json();
response.then(function(response){
//code you need to change
that.setState({ attachment: response });
});
});
}
render() {
this.getAttachment();
return
;
}
}