Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从对象数组中获取id值?_Javascript_Reactjs - Fatal编程技术网

Javascript 如何从对象数组中获取id值?

Javascript 如何从对象数组中获取id值?,javascript,reactjs,Javascript,Reactjs,我试图从Foursquare API中获取最适合的场馆照片,但是,我无法访问阵列中对象的id值 我创建了一个组件,只是为了得到一张最合适的照片。我的组件将场地作为道具,根本没有问题。在React开发工具中,我可以将所有场地视为道具 在componentDidMount中: fetch( `https://api.foursquare.com/v2/venues/${this.props.location.id}/photos? limit=1&client_id=something&

我试图从Foursquare API中获取最适合的场馆照片,但是,我无法访问阵列中对象的id值

我创建了一个组件,只是为了得到一张最合适的照片。我的组件将场地作为道具,根本没有问题。在React开发工具中,我可以将所有场地视为道具

在componentDidMount中:

fetch(
`https://api.foursquare.com/v2/venues/${this.props.location.id}/photos? 
 limit=1&client_id=something&client_secret=something&v=20180726`
    )
但是,此处未定义this.props.location id。当我尝试手动放置场地id时,它会起作用。我有很多场地,我需要为每个场地拍张照片。 在App.js中:

您可以确定MyComponent位置根本不是空的

如何正确访问id属性? 当我尝试手动获取照片时,许多照片都与场地不完全相关,如何选择代表场地的最佳照片? 编辑:
现在我可以访问对象的id值,但是,许多照片与场地并不完全相关,如何从Foursquare api中获得最合适的照片

您应该访问渲染中的道具,或者使用生命周期方法getDerivedStateFromProps并将以前的状态与新状态进行比较

我打赌this.state.places是一个数组。也就是说,this.props.location也是一个数组。这意味着您正在从数组this.props.location查询id属性。你应该写一些类似的东西

<MyComponent location={this.state.places[0]} />


如何/在哪里设置道具?你能把这段代码添加到问题中吗?@ColinYoung我的组件在我的主组件中取location={this.state.places}。@optional请不要讽刺。礼貌地询问并尊重行为准则。请看这里:@option不好笑。如果你想玩的开心,就看镜子吧。我想出了我的第一个问题,并编辑到了上面的帖子。如何从Foursquare API获取最合适的场馆照片?
<MyComponent location={this.state.places[current]} />