我一直在尝试从我的api中获取数据,但它有点令人困惑,this.state.Data.map
确实有效但参数dynamicdata
未定义。
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>
)
}
}
答案 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>)
})