首页 > 解决方案 > 如何将 map() 与来自 axios 响应的数据一起使用?

问题描述

我正在使用 axios 从服务器获取数据并将其存储在状态中。当我这样做时state.map( post => {console.log(post)} ),我什么也看不到。

我正在使用Express,Mongoose和.NextJSAxios

axios用来从服务器获取数据并将其存储在this.state.posts. 当我这样做console.log(this.state.posts)componentDidMount,它会完美地记录帖子数组。但是当我做同样的 事情时,render(){ return ( /*here*/)} 它什么也没显示。

这会记录所有帖子而没有错误

async componentDidMount() {     
        const { data } = await axios.get('/api/all')
        this.setState({posts: data, isLoading: false})
        console.log(this.state.posts)
    }

但这不会记录任何内容 -

render() {
  return({ 
    posts.map( post => {
      <Post title={post.title} />
    })  
  })
}

标签: javascriptnode.jsreactjsobjectaxios

解决方案


{ 
   posts.map( post => {
    return <Post title={post.title} />
}) 
}

也许它有效。


推荐阅读