热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

react在axios成功后,执行this.setState

在axios的then中,this并不代表react组件,因此this.setState将执行异常:thisisnotdefined解决方法一通过提前将this声明为变量letts

在axios的then中,this并不代表react组件,因此this.setState将执行异常:this is not defined

解决方法一 通过提前将this声明为变量

let ts = this;//在axios中setState方法一

axios.request({
headers:{
//非必须
"Content-Type":"application/x-www-form-urlencoded"
},
url:Url,
params:Params
})
.then(
function (response) {
let data
=response.data
console.log(data.name);
ts.getData(data.name);
})
.
catch(function (error) {
console.log(error);
});
}
getData(newName){
this.setState({
argName: newName
});
}

 

解决方法二 通过箭头函数

axios.request({
headers:{
//非必须
"Content-Type":"application/x-www-form-urlencoded"
},
url:Url,
params:Params
})
.then(aaa
=> this.setState({ //在axios中setState方法二
argName:aaa.data.name
}))
.
catch(function (error) {
console.log(error);
});
}

axios.request({
headers:{
//非必须
"Content-Type":"application/x-www-form-urlencoded"
},
url:Url,
params:Params
})
.then((response)
=> {
this.setState({ //在axios中setState方法三
argName:response.data.name
})
})
.
catch(function (error) {
console.log(error);
});
}

 

 

 

参考:https://blog.csdn.net/hj7jay/article/details/69230036



推荐阅读
author-avatar
msf6688
PHP小白,请大神 们多多关照!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有