我发现其他帖子也有类似的错误,但那些帖子有需要绑定的功能。
在下面的简单程序中,我尝试在 AJAX 请求成功后更新 DOM,但出现错误“.TypeError:this.setState 不是函数”。请帮助我理解为什么这段代码不起作用。
import React from 'react';
import logo from './logo.svg';
import './App.css';
export class App extends React.Component {
constructor(props) {
super(props);
this.state = {
name: '(name will be inserted after ajax request)'
};
console.log('constructor');
}
componentDidMount() {
//AJAX REQUEST
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);
this.setState({name: xhr.responseText});
}
}
xhr.open("GET", url);
xhr.send();
}
render() {
console.log('render')
return <h1 > Hello {this.state.name} </h1>;
}
}
慕尼黑的夜晚无繁华
蓝山帝景
慕斯709654
相关分类