3 回答
TA贡献1843条经验 获得超7个赞
将函数更改为箭头函数或将其作为函数中的参数传递,然后在函数中使用 this.setState({}) 像这样
xhr.onreadystatechange = function(this) {
if (xhr.readyState === XMLHttpRequest.DONE) {
console.log(xhr.responseText);
this.setState({name: xhr.responseText});
}
}
TA贡献1840条经验 获得超5个赞
确保引用正确的对象或使用箭头函数
componentDidMount() {
//AJAX REQUEST
var that = this;//make sure you reference the right object
const url = 'http://localhost:8080/ping';
const xhr = new XMLHttpRequest();
xhr.responseType = 'text';
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
console.log(xhr.responseText);
that.setState({name: xhr.responseText});
}
}
xhr.open("GET", url);
xhr.send();
}
添加回答
举报