Reactjs - this.state.data.map参数是UNDEFINED

时间:2018-02-26 18:02:36

标签: node.js reactjs api

我一直在尝试从我的api中获取数据,但它有点令人困惑,this.state.Data.map确实有效但参数dynamicdata未定义。

<{1>}中的

App.js

**编辑1 **

api数据结构

class ShowAll extends Component {
    constructor(props){
      super(props);
      this.state = {
        Data: [],
      }
    }

    componentDidMount(){
          Request.get('/budget').then((res)=>{
            let DataString = JSON.stringify(res.body);
            this.setState({
              Data: DataString
            }, function(){
              console.log(DataString);
            })
          }).catch((err)=> console.log(err));
    }

    render(){
      return(
        <div>
          {
            this.state.Data.map(function(dynamicData, key){
              <div>{dynamicData[0]._id}</div>  // doesn't render anything and throws an error message saying TypeError: Cannot read property '_id' of undefined

            })
          }
          </div>
      )
    }
  }

1 个答案:

答案 0 :(得分:0)

喔。您的原始帖子是完全不同的问题。

两个问题。第一:

您正在进行映射,因此您无需索引映射值

this.state.Data.map(function(dynamicData, n) {
  // dynamicData _is_ the nth element in the array, you don't need dynamicData[x]
  dynamicData._id === "lul"
})

第二,你没有从地图回调中返回任何内容

map(function(...) {
  return (<div>...</div>)
})