【发布时间】:2018-02-09 10:03:32
【问题描述】:
我有点迷路了。我想从我的 API 获得响应并将数据发送到子组件。似乎我不明白该怎么做,因为它对我说:“TypeError:无法读取未定义的属性'setState'”
你能解释一下我该怎么做吗? 这是我的代码的 sn-p:
function GetData(url, params, callback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url + '?' + params, true);
xhr.onreadystatechange = function(e) {
if (this.readyState === xhr.DONE) {
if (this.status === 200) {
callback(JSON.parse(xhr.responseText));
} else {
console.log('error');
}
}
}
xhr.send(null);
}
class Utilisateurs extends Component {
constructor(props){
super(props);
this.state = {users:''}
GetData('http://localhost:3333/shop/users', 'login=true',
function(res) {
this.setState({users: res});
}
)
}
render() {
return (
<div id="center">
<UserListSorted data={this.state.users}></UserListSorted>
</div>
);
}
}
所以我发出了一个 GET 请求,我想通过响应更改“用户”的状态,以便打印用户列表。但我不知道如何解决这个问题。
感谢您的帮助!
【问题讨论】:
-
GetData超出范围。把它变成一个箭头函数,你应该没问题 -
尝试将 GETDATA 方法放在类范围内
标签: javascript reactjs react-native react-router