javascript – this.setState无法从res.data传递信息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – this.setState无法从res.data传递信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含961字,纯文字阅读大概需要2分钟。
内容图文
![javascript – this.setState无法从res.data传递信息](/upload/InfoBanner/zyjiaocheng/741/6f63117675af482ab73eb5bacfd13818.jpg)
当我像这样运行我的代码时,控制台显示一个空数组.但是,当我使用console.log(res.data)时,我得到了员工的预期json对象没有问题.
state = {
userList: [],
firstName: "",
lastName: "",
position: ""
};
loadUsers = () => {
API.getUsers()
.then(res =>
this.setState({ userList: res.data, firstName: "", lastName: "",
position: "" })
)
.then (console.log(this.state.userList))
.catch(err => console.log(err));
};
无论哪种方式运行代码我还得到一个未捕获的SyntaxError:JSON.parse()错误消息的JSON输入的意外结束.
解决方法:
.then (console.log(this.state.userList))
这无疑会调用console.log,记录当前状态(异步内容甚至启动之前的方式),console.log返回undefined,整个事情评估为
.then(undefined)
相反,将函数传递给.then,例如
.then(() => {
console.log(this.state);
});
但是,由于setState也是异步的,因此无法可靠地工作.因此,您应该使用可以传递给setState的回调,以便在完成异步操作并更新状态后进行记录:
this.setState(
{ userList: res.data, firstName: "", lastName: "", position: "" },
() => console.log("done", this.state)
)
内容总结
以上是互联网集市为您收集整理的javascript – this.setState无法从res.data传递信息全部内容,希望文章能够帮你解决javascript – this.setState无法从res.data传递信息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。