Я новичок, чтобы реагировать, поэтому я уверен, что мне не хватает чего-то основного. Я получаю undefined для этого и поэтому не могу прочитать свойство setState, пытающееся установить состояние в возврате функции, вызывающей выборку, что я делаю неправильно? Примечание. Я вызываю MyAction из onClick, и данные ответа в порядке.React setState внутри функции это не определено
var ItemComponent = React.createClass({
getInitialState: function() {
return {
the_message: "call that API!"
};
},
doFetch: function() {
var obj = {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
}
return fetch('http://localhost:1337/site/test', obj).then(function(response) {
return response.json();
}).then(function(data) {
return data;
}).catch((error) => {
console.error(error);
});
},
MyAction: function(){
this.doFetch().then(function(response){
this.setState({
the_message: response.message
});
})
},
render: function() {
return (
<div>
<div>{this.props.title}</div><br></br>
<div>{this.props.price}</div><br></br>
<div onClick={this.MyAction}>{this.props.qty}</div>
</div>
);
}
});
Возможный дубликат [Как работает ключевое слово this?] (Http://stackoverflow.com/questions/3127429/how-does-the-this-keyword-work) –