【发布时间】:2017-11-01 12:12:49
【问题描述】:
我的 Login 组件有问题,我正在使用 cointainer 模式,所以我有一个组件 Login 来管理 api 调用和 DumbLogin 管理输入并警告用户我的服务器的响应. 我正在使用 Axios 进行 api 调用,它使用承诺来做到这一点,我还使用箭头函数来避免与 this 相关的麻烦,这就是我的想法...... 因为最后我有
TypeError: _this.setState 不是函数
我尝试使用变量 self 来解决该问题,但导致同样的错误。
我应该怎么做?
axios(all)
.then((response) => {
console.log(response);
if (response.status === 200){
this.setState({
...this.state,
spin: false,
});
let data = response.data;
this.props.connect(data.username, data.email, data.token, data.partners);
this.props.router.push('panel');
}
}).catch((error) => {
console.log(error.response);
this.setState({
spin: false,
errorLogin: 'Username or password wrong',
});
});
(spin 是一个布尔值,用于通知 DumbLogin 在等待我的服务器响应时是否应该显示微调器)
【问题讨论】:
标签: reactjs promise axios arrow-functions setstate