TypeScript axios 获取服务器端数据后,为什么报错?

图片描述

报错的那个data就是服务器返回的json格式啊,下面那种原始的ajax方法就不报错,我要怎么写呢?

更改之后的代码是这样的:
loadCommentsFromServer() {

axios.get('/Comments')
    .then(function (response) {
        var data = response.data as ICommet[];
        this.setState(new CommetBoxStateModel(data));
    })
    .catch(function (error) {
        console.log(error);
    });

var xhr = new XMLHttpRequest();
xhr.open('get', this.props.url, true);
xhr.onload = function () {
    var data = JSON.parse(xhr.responseText);
    this.setState(new CommetBoxStateModel(data));
}.bind(this);
xhr.send();

}
用了axios,但是返回的json数据不能更新react状态,var data = response.data as ICommet[];这个返回的data就是json啊,还不能直接用,我转了一下,不报错了,但是不更新状态。
而下面这种就可以更新状态。
请问这是为何?

阅读 3.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题