之后我创建了一个名为renderMoviesTrending()的辅助函数来显示从api获取的数据
从屏幕截图中可以看出,我通过onPress将电影ID(movieTrending.id)传递给onPressPosterTrending函数。这允许我将单个所选电影的数据传递给movieDetails.js。 (这一切都很好)
我现在面临的问题是我需要进行新的api调用,我必须在其中放置movieTrending.id,以检索一组新的数据,这些数据允许我播放基于以下内容的所选电影的预告片。电影ID。
用于检索有关预告片的数据的http请求的新网址如下 - > https://api.themoviedb.org/3/movie/的 353486 /视频?API_KEY = 2e3b3e231665535756b50c3e216e0467
因此,当我创建一个新的辅助函数来发出http请求时,如何将上一个函数中的电影ID转换为url?
我app.js的更新代码 https://gist.github.com/anonymous/84107c7d295a848fbe1102b6df9ee8f5
我希望你们明白我在这里想要实现的目标。我用Google搜索了这个,但没有发现任何东西。也许我在搜索错误的关键字
非常感谢任何帮助
答案 0 :(得分:0)
我觉得最简单的方法就是将状态中的当前电影趋势ID存储为新变量。这样它将可用于整个组件。
您实际上已经存储了当前的热门电影。
您只需使用this.state.selectedMovieTrending即可访问它。
所以你的网址变成:https://api.themoviedb.org/3/movie/ {this.state.selectedMovieTrending} / videos?api_key = 2e3b3e231665535756b50c3e216e0467
或' https://api.themoviedb.org/3/movie/' + this.state.selectedMovieTrending +' / videos?api_key = 2e3b3e231665535756b50c3e216e0467
答案 1 :(得分:0)
使用反应原生的flatlist 像这样
return <div onClick={() => onDelete(id)}>Hello</div>;
所以在另一个屏幕上你会得到像这样的电影ID参数
<FlatList
data={this.props.posts}
keyExtractor={(item, index) => item._id}
renderItem={({item}) =>{
return(
<View >
<TouchableHighlight onPress={() => this.props.navigation.navigate('SingleMovieScree',{movieid:item.id})} >
// Use React navigation to nvaigate to another screen
<Image style={styles.Poster} source={{ uri: `${TMDB_IMG_URL}${(movieTrending.poster_path)}` }} />
</TouchableHighlight>
</View>
)
}
}
/>
然后使用此ID从请求中获取电影详细信息并在屏幕上显示