首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据存储在数组中,但是对于特定的元素,它显示的是未定义的react js。

数据存储在数组中,但是对于特定的元素,它显示的是未定义的react js。
EN

Stack Overflow用户
提问于 2020-08-25 18:07:37
回答 2查看 34关注 0票数 0
代码语言:javascript
运行
复制
componentDidMount() {
    axios.get('http://localhost:4000/info/admincontact').then(res => {
      this.setState({
        blogid: res.data
      });
      console.log(this.state.blogid)
      console.log(this.state.blogid.city);
    })

###CONSOLE

"5f45444391b5a456bc90d7f7"proto:数组(2)0:城市:“Salem”电子邮件:“sachinvijay@gmail.com”地图:"https://www.google.com/maps/place/ITPL/@12.9859537,77.7322496,13z/data=!4m8!1m2!2m1!1sitpl!3m4!1s0x3bae11e4fb1b21a5:0x6018797bb4fac8b2!8m2!3d12.9874525!4d77.7370219"phone:“9600337763状态:”泰米尔纳德邦“__v: 0_id: 0_id Object1: city:”Salem“电子邮件:"sachinvijay@gmail.com"mapl:"https://www.google.com/maps/place/ITPL/@12.9859537,77.7322496,13z/data=!4m8!1m2!2m1!1sitpl!3m4!1s0x3bae11e4fb1b21a5:0x6018797bb4fac8b2!8m2!3d12.9874525!4d77.7370219"phone:”9600337763“状态:”泰米尔纳德邦“v: 0_id:"5f45497b9120014680289a99"proto: Objectlength: 2__proto:数组(0) Contact.js:49未定义的

EN

回答 2

Stack Overflow用户

发布于 2020-08-25 18:11:25

React不是一个同步函数,所以最好这样编写。

代码语言:javascript
运行
复制
this.setState({blogid: res.data}, () => {
          console.log(this.state.blogid)
          console.log(this.state.blogid.city);
});
票数 0
EN

Stack Overflow用户

发布于 2020-08-25 18:13:59

这是blogid中的一个数组,所以您需要迭代,或者可以使用它的特定索引:

代码语言:javascript
运行
复制
this.setState({blogid: res.data}, () => {
    console.log(this.state.blogid[0].city);
});

是的,您必须在setState的回调中记录它,因为它是异步,它的值需要一些时间来更新。回调将确保只在完成/完成setState操作时进行日志记录。

或者您可以使用forEach

代码语言:javascript
运行
复制
this.state.blogid.forEach(obj => console.log(obj.city));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63584751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档