首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在React中映射和渲染对象数据?

如何在React中映射和渲染对象数据?
EN

Stack Overflow用户
提问于 2020-12-18 04:11:37
回答 1查看 72关注 0票数 0

我正在尝试呈现从graphql查询返回的数据,但是我得到了错误TypeError: Cannot read property 'map' of undefined

如果我将数据记录到控制台,我可以看到它已成功返回:

代码语言:javascript
复制
{listTalks: Array(100)}
    listTalks: Array(100)
        [0...99]
            0: {ID: "xxxxxxxy", speakerName: "Bob", name: "Talk1", description: "text"}
            1: {ID: "xxxxxxyy", speakerName: "Joe", name: "Talk2", description: "text"}
            2: {ID: "xxxxxyyy", speakerName: "Carry", name: "Talk3", description: "text"}
            3: {ID: "xxxxyyyy", speakerName: "Kyle", name: "Talk4", description: "text"}
            4: {ID: "xxxyyyyy", speakerName: "Mark", name: "Talk5", description: "text"}

但是,当我映射数据并尝试呈现它时,出现了错误。

完整代码如下:

代码语言:javascript
复制
class App extends React.Component {

  // define some state to hold the data returned from the API
  state = {
    talks: []
  }

  // execute the query in componentDidMount
  async componentDidMount() {
    try {
      const talkData = await client.query({query: gql(listTalks)})
      console.log('talkData:', talkData)
      this.setState({
        talks: talkData.data.listTalks.items
      })
    } catch (err) {
      console.log('error fetching talks...', err)
    }
  }


  render() {
    return (
      <>
      <div>
        {
           this.state.talks.map((talk, index) => (
            <div key={index}>
              <h3>{talk.speakerName}</h3>
              <h5>{talk.name}</h5>
              <p>{talk.description}</p>
            </div>
          ))

        }
        </div>
      </>
    )
  }
}

export default App
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-18 04:19:45

我认为talkData.data.listTalks.items等同于未定义,因此它抛出了undefined.map不是一个函数。

代码语言:javascript
复制
this.setState({
    talks: talkData.data.listTalks
  })

也许这是因为.items属性造成的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65347693

复制
相关文章

相似问题

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